3

会社の Web サーバーの負荷をログに記録するプログラムを作成しています。ログに記録する必要がある情報の 1 つは、サーバーの CPU 負荷です。

monitCPU 負荷 --またはtop/ -- は、 1 つのコアに対して正規化された、コア全体の合計htop負荷を反映していることを知っています。そのため、8 コア サーバーの場合、合計負荷 (負荷が高い場合) は 100% を超えます。そして、すべてのコアが最大負荷で実行されている場合、800% に達する可能性があります。

ただし、monit および top/htop は、CPU 負荷の数値が 800% を超えて、ジョブがキューに入れられていることを示す、オーバーサブスクライブされた CPU 負荷を示すこともあります。

そんな状況に興味があります。

私の質問:

  1. このpsutil.cpu_times_percent()関数は、monit の /top の CPU 負荷インジケーターと同じように動作しますか? cpu_times_percent()つまり、キューに入れられているジョブがある場合、返されるパーセンテージは 100% よりも高くなります ( 1 コアではなく 100% に正規化されます)。

  2. #1 に対する答えが「いいえ」の場合、オーバーサブスクリプション / ジョブがキューに入れられていることをどのように検出できますか?

4

1 に答える 1

1

はい、psutil.cpu_times_percent() は「top」で示されるのと同じタイミングを反映する必要がありますが、もちろん、完全に同じにすることはできず、ほぼ同じにすることはできませ

于 2014-12-15T17:57:07.940 に答える