Intel(R) Xeon(R) CPU E5520
16の目に見える論理コア(HTの場合は8つ)のマシンがあります。 CPU 時間を消費するジョブ (シングルスレッド) を実行すると、top はプロセスの CPU 使用量を 100% 正確に報告しますが、総使用量は約 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つ)でなければなりません。
- 仮想マシンと間違っていますか?
- 正しい値をどのように計算できますか?
答え1
top
CPUに基づいて、すべてのコアにわたって合計された使用量が要約に報告されます。一方、プロセスのリストを見ると、親レポートは参照されている1つのコア(実際またはHT)の割合を報告します。 4つのCPUコアを占める4つのスレッドでプロセスを実行すると、CPUを400%使用することがわかります。
理由はわかりませんが、これがtop
私が見たすべてのLinuxシステムが機能する方法です。
答え2
top
説明したように、ほとんどの場合、デフォルトでは「Irix」モードで動作します。合計CPUパフォーマンスの割合を取得するには(つまり、CPU使用率の合計がcpu_cores_number * 100%ではなく100%の場合)を押して、「Irix」モードを切り替えますI
。