htopメーターには> 90%が表示されますが、表には0.0%で表示されるのはなぜですか?

htopメーターには> 90%が表示されますが、表には0.0%で表示されるのはなぜですか?

画面上部の進行状況インジケータにはhtopCPU使用率が常に90%以上で表示されますが、下表の数字にはCPU使用率と負荷平均が0.0%でシステムがほぼアイドル状態であると表示されるのはなぜですか。

部分htopスクリーンキャプチャ

答え1

htopカーネルレベルの仮想化環境で実行されているかどうかわかりませんでした(ドリームホストVPS使用中仮想サーバー技術)。次に、オペレーティングシステムインスタンスだけでなく、同じコアを共有するすべてのオペレーティングシステムインスタンスのCPU使用率を表示します。

見てvtop出力には、コンテナ内のプロセスだけでなく、CPUを共有するすべてのプロセスが表示されます。

vtop顧客が他の顧客が実行されているプロセスを確認したくないため、商用ソリューションに望ましい可能性があるインストールされていない場合は、topカーネル統計の代わりにCPU使用率を計算するようにソースにパッチを適用しない限り、コンテナ内で問題を解決することはできません。得る。

仮想サーバーで実行されているすべてのプロセスのCPU使用率を要約することでこれを行うことができます。たとえば、次のようになります。

ps aux | awk '
    {cpu+=$3; ram+=$6} 
    END {printf("cpu: %d%%, RAM: %.2f MiB\n",cpu,ram/1024) }'

答え2

これらの不一致は通常、カーネルスレッドのプロセッサ使用率が高いことを示し、htopこの情報はデフォルトでは表示されません。表示するには、に移動してhtopからSetupDisplay options移動して選択を解除しますHide kernel threads。これにより、責任あるスレッドを見ることができます。

hide_kernel_threadsを0に設定してこの動作を無効にすることもできます~/.htoprc

答え3

htopスタートを試してくださいsudo。テーブルのアクティブなスレッドを表示するには、root アクセス権が必要です。

関連情報