テーブルが0.0%であるのに、なぜhtopメーターが> 90%を表示するのですか?


12

画面上部の進行状況メーターでhtopCPU使用率が常に90%を超えて表示されるのに、下表の数値はCPU使用率と負荷平均が0.0%のほぼアイドル状態のシステムを示しているのはなぜですか?

部分的なhtopスクリーングラブ


1
私はまったく同じ問題を抱えており、Dreamhost VPS(仮想プライベートサーバー)を使用しています。
— 重性_

ところで、私の例を見てみると、それはさらに悪いです:demo.ddesign.si/temp/dh3.png
— duality_

回答:


6

htopカーネルレベルの仮想化環境で実行されていることを認識していません(Dreamhost VPSはVServerテクノロジーを使用しています)。それは、あなただけではなく、同じカーネルを共有するすべてのOSインスタンスのCPU使用率を示しています。

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

vtopインストールされていない場合、これはおそらく、他の顧客を実行しているプロセスを顧客が見たくないため、商用ソリューションに期待されています。topソースを計算してパッチを適用しない限り、コンテナ内から問題を修正する方法はありませんカーネル統計から取得するのではなく、CPU使用率。

VServerで実行されているすべてのプロセスのCPU使用率を合計することで実行できます。例:

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

説明については+1。topこのマシンのhtopと同様に報告します。Vtopはインストールされていないためテストされていません。このマーキング受け入れ、それは答えるので、それは暗黙の「と何それについて行うことができますか?」、それは暗黙のあったように対処していないのに「なぜ?」
— マットウィルキー

4

この種の不整合は、通常、カーネルスレッドによるプロセッサ使用率が高いことを示しておりhtop、デフォルトでは表示されません。で、それらを表示するにはhtop、外出先へのSetup、そしてDisplay options、その後、チェックを外しをHide kernel threads。これにより、責任のあるスレッドを確認できます。

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


2
ありがとう、クリス。私はそれをしましたが、テーブルの値はまだ0%です。たぶん、これは仮想マシンで実行するのに特有のものですか?ホストは(Dreamhost.com上の)Virtual Private Serverです。
— マットウィルキー

私にとっては、これがより正解です。カーネルから大量のCPUを使用しているプロセスがありましたが、ユーザースペースプロセスには表示されませんでした。
— パトリックチュー

...ただし、HTop CPUメーターはカーネル時間を赤で、ユーザー時間を緑で表示し、ほぼすべてが緑であることがはっきりとわかります。
— MathematicalOrchid

1

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


通常の仮想化環境でこれがどの程度うまく機能するかはわかりませんが、通常のような環境があれば、ドリームホストVPSでは機能しません。
— マットウィルキー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.