Warum wird die CPU-Auslastung unter Linux von Top 100% angegeben?

60

Ich habe festgestellt, dass die CPU-Auslastung über 100% liegt. Wie ist das möglich? Liegt es daran, dass ich vier CPU-Kerne habe, sodass 100% nicht wirklich das Maximum sind?

Wenn ein Programm dies ausführt, was kann ich dann noch tun, außer den kBefehl zu verwenden?

tony_sid
quelle

Antworten:

66

AFAIK oben zeigt die CPU-Auslastung im Verhältnis zur Leistung eines Kerns, dh wenn Ihre Aufgabe 200% der CPU beansprucht, belegt sie zwei Kerne.

lajuette
quelle
17

Von der oberen Manpage

   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.

Also, ja, oben wird der CPU-Prozentsatz pro Kern angezeigt, aber Sie können dieses Verhalten umschalten, indem Sie 'I' drücken.

IanH
quelle
10

Ja. Wenn ein Prozess in Top 100% überschreitet oder Top> 1,0 in der Last anzeigt, bedeutet dies, dass mehr als ein Kern belegt ist oder das System überzeichnet ist. Überzeichnung bedeutet, dass mehr Arbeit auf den Kern gelegt werden muss, als physisch verwaltet werden kann.

In können topSie die Ansicht auch nach verschiedenen Parametern sortieren (z. B. verwendetem Speicher). Informationen zum Sortieren finden Sie in der Hilfe oder in der Manpage top.

Sie können auch alle Arten von Informationen über die Prozesse selbst anzeigen, z. B. den virtuellen oder residenten Speicher, der vom Prozess verwendet wird, und ob er sich im Ruhezustand befindet oder aktuell ausgeführt wird, sowie die verwendete CPU-Zeit.

Der Lastdurchschnitt oben kann bei Bedarf auch mit dem uptimeBefehl angezeigt werden .

private_meta
quelle
4
Wie kann ich überprüfen, ob mehr als ein Core verwendet wird oder ob er überzeichnet ist? Vielen Dank!
user1953384