%CPUを最高負荷平均に調整

%CPUを最高負荷平均に調整

私たちは、OpenMPを利用して複数のスレッド(コアごとに1つ)で計算を実行して、利用可能なすべてのCPUを飽和させる長期実行プロセスを持っています。

私は24コアすべてで実行されているサーバーのtop(1)を見ています。

予想されるように、%CPU列にはCPUの2380〜2400%を消費するプロセスが表示されます。数時間休むことなく実行されました。

  PID USER  PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
27647 xxx   20   0 1416m 232m  11m R 2390.8  0.1   2324:59 pig

ただし、負荷平均は9から11の間でのみ変動します。

top - 19:22:37 up 25 days,  5:35,  5 users,  load average: 10.78, 10.24, 9.60

そして私はそれが24のまわりか24のすぐ下にあると期待します。

%CPUが嘘をついているのですか?プロセスは実際に半分以上の時間I / Oを実行していますが、まだ実行中であると報告されていますか?それとも負荷平均計算が間違っていますか?

これはLinux、RHEL-6、カーネル2.6.32-696.6.3 ...にあります。

関連情報