¿Por qué el uso de CPU reportado por top en Linux supera el 100%?

60

He visto que el uso de la CPU supera el 100%. ¿Cómo es esto posible? ¿Es porque tengo cuatro núcleos de CPU, por lo que el 100% no es realmente el máximo?

Además, cuando un programa hace esto, ¿qué más puedo hacer en la parte superior además de usar el kcomando?

tony_sid
fuente

Respuestas:

66

AFAIK top muestra el uso de la CPU en relación con la potencia de 1 núcleo, es decir, si su tarea ocupa el 200% de la CPU, entonces está ocupando dos núcleos.

lajuette
fuente
17

Desde la página de manual superior

   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.

Entonces, sí, la parte superior muestra el porcentaje de CPU por núcleo, pero puede alternar este comportamiento presionando 'I'.

IanH
fuente
10

Sí, si un proceso en la parte superior supera el 100% o la parte superior muestra> 1.0 en carga, esto significa que más de un núcleo está ocupado o que el sistema está suscrito en exceso. La suscripción excesiva significa que hay más trabajo para poner en el núcleo de lo que es manejable físicamente.

En toptambién puede ordenar la vista por diferentes parámetros (como la memoria utilizada). Si desea ver por qué puede ordenar, consulte la página de ayuda o manual top.

También puede ver todo tipo de información sobre los procesos en sí, como la memoria virtual o residente utilizada por el proceso y si está inactiva o en ejecución, así como el tiempo de CPU utilizado.

El promedio de carga en la parte superior, si es necesario, también se puede ver con el uptimecomando.

Private_meta
fuente
44
¿Cómo puedo verificar si está usando más de un núcleo o si está suscrito en exceso? ¡Gracias!
user1953384