サーバーが「トップ」プログラムで高い負荷平均を示す場合があります(4コアマシンの負荷が10程度など)が、実際のCPU使用率はそれほど高くありません。
問題は、I / Oを集中的に使用するジョブが多数実行されていることだと思います。上部の「%CPU」値がそれほど高くない場合、負荷の原因となっているこれらのジョブを識別する簡単な方法はありますか?
サーバーが「トップ」プログラムで高い負荷平均を示す場合があります(4コアマシンの負荷が10程度など)が、実際のCPU使用率はそれほど高くありません。
問題は、I / Oを集中的に使用するジョブが多数実行されていることだと思います。上部の「%CPU」値がそれほど高くない場合、負荷の原因となっているこれらのジョブを識別する簡単な方法はありますか?
回答:
カーネルにIOアカウンティングがある場合は、そのiotop
ような情報を提供するために使用できます。また、collectdなどの監視ツールは、データを記録およびレポートできます。
高負荷の原因を見つけるには、いくつかのことを確認できます。
vmstat -w
ovierwiem(プロセス、スワップ、メモリ、CPU、IO、システム)を表示します pmstat -P ALL
CPUコアごとに統計(%iowaitを使用)を提供しますiostat -x
高い%utilまたはlong awaitまたは大きな平均キューサイズを探します
iotop
ps -ax
割り込み不可能なスリープ(通常はIO)である状態Dを探し、それをもう一度実行して、まだD状態にあるかどうかを確認します。
sar -b
-全体的なIOアクティビティ sar -d
-個々のブロックデバイスioアクティビティ
top
コマンドを実行したときに表示される要約領域を貼り付けていただけますか?