画面上部の進行状況インジケータにはhtop
CPU使用率が常に90%以上で表示されますが、下表の数字にはCPU使用率と負荷平均が0.0%でシステムがほぼアイドル状態であると表示されるのはなぜですか。
答え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
からSetup
にDisplay options
移動して選択を解除しますHide kernel threads
。これにより、責任あるスレッドを見ることができます。
hide_kernel_threads
を0に設定してこの動作を無効にすることもできます~/.htoprc
。
答え3
htop
スタートを試してくださいsudo
。テーブルのアクティブなスレッドを表示するには、root アクセス権が必要です。