web-dev-qa-db-fra.com

Pourquoi l'utilisation du processeur signalée par top sous Linux est-elle supérieure à 100%?

J'ai vu l'utilisation du processeur dépasser les 100%. Comment est-ce possible? Est-ce parce que j'ai quatre cœurs de processeur, alors que 100% n'est pas vraiment le maximum?

De plus, lorsqu'un programme fait cela, que puis-je faire d'autre en plus de la commande k?

59
tony_sid

AFAIK en haut montre l'utilisation du processeur par rapport à la puissance d'un cœur, c'est-à-dire que si votre tâche nécessite 200% de CPU, elle occupe deux cœurs.

65
lajuette

Depuis la page de manuel supérieure

   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.

Donc, oui, top indique le pourcentage de CPU par cœur, mais vous pouvez alterner ce comportement en appuyant sur 'I'.

17
IanH

Oui, si un processus dans la partie supérieure dépasse 100% ou que la partie supérieure affiche> 1,0 en charge, cela signifie que plus d'un cœur est occupé ou que le système est sursouscrit. Le sursouscription signifie qu'il y a plus de travail à faire que de gérer physiquement.

Dans top, vous pouvez également trier la vue selon différents paramètres (comme la mémoire utilisée). Si vous voulez chercher ce que vous pouvez trier, référez-vous à la page d'aide ou à la page de manuel pour top.

Vous pouvez également voir toutes sortes d'informations sur les processus eux-mêmes, comme la mémoire virtuelle ou résidente utilisée par le processus et si elle est en veille ou en cours d'exécution, ainsi que le temps CPU utilisé.

La charge moyenne en haut, si nécessaire, peut également être visualisée par la commande uptime.

10
private_meta