「top」コマンドで799%のCPU使用率が表示されるのはなぜですか?


47

4コアのUbuntuサーバーでプロセスを実行しています。ただし、topコマンドは、CPU使用率が常に799%であることを示しています。

これはどのように可能ですか?マルチコアCPUの場合、100%を超えるCPU使用率が予想されますが、799%は非常に高い値です。

誰がなぜこれがいつ起こるのかを説明できますか?

編集:

Gregory MOUSSATの提案に従って、htopを使用して、次のようになりました。

ここに画像の説明を入力してください


1
4つのコアにはそれぞれ2つのスレッドがありますか(Intel Core i7など)?
レナン

@Renan、私はシングルスレッドで実行しています。
-Arpssss

OK 私はこれがいくつかのi7システムで起こるのを見たからです。
レナン

1
しかし、JVMはシングルスレッドですか?
イグナシオバスケス-エイブラムス

6
これは、完全にロードされたi7のように見えます。通常、ビデオをエンコードするときにこれを取得します
-nohillside

回答:


65

topコアが完全に使用される場合、使用されるスケールは100%です。または、1つのコアが20%で、2番目のコアが80%の場合。これは、簡単に100%を超える可能性があるため、マルチコアコンピューターで奇妙な結果につながります。
8つのコアtopがある場合、0%(アイドルシステム)から800%(フルパワー)まで表示できます。

プログラムは、最大容量でハイパースレッディングを備えた4つのコア(つまり8つの仮想コア)を使用しています。したがって、topは8 x 100%= 800%近くになります。

アプリケーションで単一のスレッドのみを使用している場合でも、単一のスレッドを使用するようJVMに明示的に指示することはできません。複数のスレッドを使用して作業を行います。

htopより良いtop代替手段としてユーティリティを使用できます。8つのコアすべてを使用したプログラムが表示されます。


プロセスのセットをコアのセットに制限したり、CPUの%を制限したりできます。ただし、コマンドを覚えていません。(1つはcpulimit)
ctrl-alt-delor 14

htop、atop、topよりもはるかに優れた+1
CodeLikeBeaker

htopの場合は+1。これにより、CPUを消費する2つのスレッドを見つけることができました。
アルン

3
すべてのあられhtop
fragamemnon
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.