CPUを占有するプロセス(top、htop、ps?)があることを確認してください。

CPUを占有するプロセス(top、htop、ps?)があることを確認してください。

どのプロセスがCPUを消費しているのかを推測することしかできないという問題に取り組んでいます。

私のpsensorのすべてのコアのCPU使用率は約80%です。

私はそれを試しましたhtoptop最後ps -A -o pcpu,pid,cmd --sort +pcpuにsudoを使用しても役に立ちませんでした)。
これは、犯人PIDが(私が知っている限り)約7%しか使用していないことを示唆しています...

その pid に SIGKILL シグナルを送信すると、すべてが正常に戻ります。

テストのためにターミナルで無限ループを作ってみましたがwhile true;do echo -n;done、htopでは確かにわかり、問題の原因はこれと同じではないようです。

それでは、推測せずに犯人を見つける他の方法はないだろうか?

psensorもう一度考えると、その値を表示できますが、他の値は表示できない計算と「システムロードインジケータアプレット」が何を使用しているのかを知りたいです。

添付:待ち時間関連リンク平均負荷へのリンク

ベストアンサー1

正確なヒントを提供するのに十分な詳細はありませんが、実際に導出されたロードと表示されたCPU使用率の間に2つの不一致の原因があると思います。

  1. プロセスは複数のスレッドで構成でき、topそれを要約することはできません。以下を使用してスレッド数を確認できます。

    ps -eo pid,nlwp,%cpu,user,args
    

    topスイッチスレッド処理を使用できますH。スレッドあたりのCPU使用率は通常非常に低いです。

  2. このプロセスは過度のI / Oを引き起こす可能性があります。 I / OレイテンシはCPU全体の負荷の一部ですが、プロセスのCPU使用率の一部ではない可能性があります。したがって、小切手waitの値ですtop。どのプロセスがどの程度原因であるかはわかりませんが、値が低いとその効果を説明できません。

おすすめ記事