Por que o uso da CPU relatado pela parte superior do Linux é superior a 100%?

60

Eu já vi o uso da CPU ultrapassar 100%. Como isso é possível? É porque eu tenho quatro núcleos de CPU, então 100% não é realmente o máximo?

Além disso, quando um programa faz isso, o que mais posso fazer além de usar o kcomando?

tony_sid
fonte

Respostas:

66

O topo do AFAIK mostra o uso da CPU em relação à potência de 1 núcleo, ou seja, se sua tarefa ocupa 200% da CPU, ela está ocupando dois núcleos.

lajuette
fonte
17

Na página principal do manual

   k: %CPU  --  CPU usage
  The task's share of the elapsed  CPU  time  since  the  last  screen
  update,  expressed as a percentage of total CPU time.  In a true SMP
  environment, if 'Irix mode' is Off, top will operate  in  number  of
  CPUs.  You toggle 'Irix/Solaris' modes with the 'I' interactive com-
  mand.

Portanto, sim, o topo mostra a porcentagem de CPU POR núcleo, mas você pode alternar esse comportamento pressionando 'I'.

IanH
fonte
10

Sim, se um processo no topo ultrapassar 100% ou o topo mostrar> 1,0 em carga, isso significa que mais de um núcleo está ocupado ou o sistema está com excesso de assinaturas. O excesso de inscrições significa que há mais trabalho a ser colocado no núcleo do que é fisicamente gerenciável.

Em topvocê também pode classificar a vista por diferentes parâmetros (como a memória usada). Se você deseja procurar o que pode classificar, consulte a página de ajuda ou manual top.

Você também pode ver todo o tipo de informações sobre os próprios processos, como memória virtual ou residente usada pelo processo e se está em suspensão ou em execução no momento, bem como o tempo da CPU usado.

A média de carga na parte superior, se necessário, também pode ser visualizada pelo uptimecomando.

private_meta
fonte
4
Como posso verificar se está usando mais de um núcleo ou se está com excesso de assinaturas? Obrigado!
User1953384