Reconciliando% CPU com média de carga no topo

1

Temos um processo de longa duração, que utiliza o OpenMP para saturar todas as CPUs disponíveis com cálculos feitos em vários segmentos (um para cada núcleo).

Eu estou olhando para o topo (1) em um servidor, onde o programa está sendo executado em todos os 24 núcleos.

Como seria de esperar, a coluna% CPU mostra o processo consumindo 2380-2400% da CPU. Está funcionando sem parar por algumas horas já:

  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

No entanto, a média de carga oscila apenas entre 9 e 11:

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

Considerando que eu esperaria que seja pairando em ou logo abaixo de 24 também.

% CPU está mentindo para mim - com o processo realmente fazendo E / S durante metade do tempo, mas ainda é relatado como se estivesse em execução? Ou a média de carga é calculada incorretamente?

Isto está no Linux, RHEL-6, kernel 2.6.32-696.6.3 ...

    
por Mikhail T. 01.08.2018 / 01:21

0 respostas