AIX サーバーの CPU 使用量のモニター

AIX サーバーの CPU 使用量のモニター

AIXサーバーでCPU使用率を監視するために、10分ごとに実行される次のスクリプトを使用しました。

lparstat 2 10 > cpu
usage=$(tail -10 cpu | awk 'BEGIN {sum=0;} {sum+=$4} END{print int(100-sum/10)}')


if [[ $usage -ge 90 ]]; then
# mail the error and cpu file to admin
# displaying this for testing purposes
echo "CPU usage off the charts!!!"
cat cpu
fi

ただし、CPU使用率が90%を超える場合は、CPUを使用する上位5つのプロセスを一覧表示する必要があります。

どうやってこれを達成できますか?

答え1

列を制限し、最も高いCPU使用率に基づいて最初に並べ替えてから上位5つまで切り取り、head -6かなり読みやすい方法で上位5つを一覧表示することができます(ヘッダーも含めたいので、使用)。

ps -eo pcpu,pid,args | sort -k 1 -r | head -6

出力は次のとおりです。

%CPU   PID COMMAND
 2.0 30531 -bash
 0.0 30673 head -6
 0.0 30672 sort -k 1 -r
 0.0 30671 ps -eo pcpu,pid,args
 0.0 30670 [flush-253:0]

topGNUのバッチモード()を見ることもできます-b

答え2

ディープダイビングのための最良の方法は走ることです。

tprof -skex sleep 10

これにより、どのプロセスが高いCPUを使用しているかを詳細に説明するレポートが提供され、機能と共有ライブラリの使用量を詳しく調べることができます。

答え3

topas 出力に一致する次のコマンドを使用できます。

ps -ef | egrep -v "STIME|$LOGNAME" | sort +3 -r | head -n 15

関連情報