異常な高負荷とcpu utilを備えたサーバーがありますが、その理由はわかりません。topを実行すると、すべてのprocは非常に低いCPUのようです。
http://cl.ly/2d1g0K3q261r0R0K3e35
これを引き起こしているものを探すより良い方法はありますか?
異常な高負荷とcpu utilを備えたサーバーがありますが、その理由はわかりません。topを実行すると、すべてのprocは非常に低いCPUのようです。
http://cl.ly/2d1g0K3q261r0R0K3e35
これを引き起こしているものを探すより良い方法はありますか?
回答:
負荷は、システムが1分、5分、および15分単位で持っているワークロードの尺度です。
最も一般的な誤解は、負荷平均が純粋にシステムのCPU使用率に関係しているということです。
ただし、負荷には、CPUがI / Oを待機しているなどの追加の測定値が組み込まれており、これが問題だと思います。
イメージに基づいて、メモリが不足し、データをディスクにスワップし始めたと推測しています。
シンプルに、free -m
使用されているRAMとスワップの量が表示されます。
おもしろいコラムはほかに無料のコラム-/+ buffers/cache
です。
ゼロに近い場合は、RAMが不足しているので、それに応じて対処する必要があります。
iotop
またはvmstat
を使用して、I / Oかどうかを確認できます。
使用してみてください:
top -o cpu
この-o
フラグは、topにCPU使用率の降順でプロセスを強制的に並べます。
top -o cpu
「トップ:不明な引数 'o'」
o
中にヒットしてみてください。主キーを要求する必要があります。入力cpu
してEnter キーを押します。
top -o %CPU
CPU使用率がスレッドから来ているように見えます。top
これを考慮していないようです。最近、mysqlサーバーでこれを見ました。INSERTステートメントが実行されていますが、mysqldのスレッドがテーブルインデックスを更新しているため、SELECTで新しい行を取得できませんでした。topは1つのコアで100%のユーザー負荷を示していますが、mysqldを含むすべてのプロセスは0.0%CPUでした。数時間後、同じSELECTが期待される結果セットを提供しました。
こちらもご覧ください