私はIntel(R) Xeon(R) CPU E5520
を備えたマシンを16の論理コア(8はHT)として認識しています。 CPU時間を消費するために何かを実行する場合(シングルスレッド)、topはプロセスの100%のCPU使用率を正しく報告しますが、合計使用率は約3〜4%です。
Cpu(s): 3.6%us, 0.0%sy, 0.0%ni, 96.4%id, 0.0%wa, 0.0%hi, 0.0%si, 0.1%st
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1567 www 20 0 65632 84 4 R 100 0.0 0:05.96 burnMMX
確かに、報告された使用率は〜6.25%(16コアの1)になるはずです。
サマリーのtop
は、すべてのコアを合計したCPUに対する使用状況をレポートします。一方、プロセスのリストを見ると、上位のレポートは1つのコア(リアルまたはHT)を基準とした割合を報告しています。 4つのCPUコアを消費する可能性がある4つのスレッドでプロセスを実行してみてください。CPUが400%使用されていることがわかります。
理由はわかりませんが、これが私が見たすべてのLinuxシステムでtop
が機能する方法です。
ほとんどの場合、top
は、説明したとおり、デフォルトで「Irix」モードで動作します。合計CPU機能のパーセンテージを取得する場合(つまり、可能なCPU使用率の合計が100%になり、cpu_cores_number * 100%ではない場合)、I
を押して「Irix」モードを切り替えます。 。