どのプロセスがCPUを消費しているのかを推測することしかできないという問題に取り組んでいます。
私のpsensorのすべてのコアのCPU使用率は約80%です。
私はそれを試しましたhtop
(top
最後ps -A -o pcpu,pid,cmd --sort +pcpu
にsudoを使用しても役に立ちませんでした)。
これは、犯人PIDが(私が知っている限り)約7%しか使用していないことを示唆しています...
その pid に SIGKILL シグナルを送信すると、すべてが正常に戻ります。
テストのためにターミナルで無限ループを作ってみましたがwhile true;do echo -n;done
、htopでは確かにわかり、問題の原因はこれと同じではないようです。
それでは、推測せずに犯人を見つける他の方法はないだろうか?
psensor
もう一度考えると、その値を表示できますが、他の値は表示できない計算と「システムロードインジケータアプレット」が何を使用しているのかを知りたいです。
ベストアンサー1
正確なヒントを提供するのに十分な詳細はありませんが、実際に導出されたロードと表示されたCPU使用率の間に2つの不一致の原因があると思います。
プロセスは複数のスレッドで構成でき、
top
それを要約することはできません。以下を使用してスレッド数を確認できます。ps -eo pid,nlwp,%cpu,user,args
top
スイッチスレッド処理を使用できますH
。スレッドあたりのCPU使用率は通常非常に低いです。このプロセスは過度のI / Oを引き起こす可能性があります。 I / OレイテンシはCPU全体の負荷の一部ですが、プロセスのCPU使用率の一部ではない可能性があります。したがって、小切手
wait
の値ですtop
。どのプロセスがどの程度原因であるかはわかりませんが、値が低いとその効果を説明できません。