Dlaczego użycie procesora jest zgłaszane przez top w Linuksie ponad 100%?

60

Zauważyłem, że użycie procesora przekracza 100%. Jak to jest możliwe? Czy to dlatego, że mam cztery rdzenie procesora, więc 100% nie jest tak naprawdę maksimum?

Ponadto, gdy program to robi, co jeszcze mogę zrobić oprócz użycia kpolecenia?

tony_sid
źródło

Odpowiedzi:

66

AFAIK top pokazuje użycie procesora w stosunku do mocy 1 rdzenia, tzn. Jeśli twoje zadanie zajmuje 200% procesora, to zajmuje dwa rdzenie.

lajuette
źródło
17

Z górnej strony podręcznika

   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.

Tak, górna część pokazuje procent CPU na rdzeń, ale możesz przełączyć to zachowanie naciskając „I”.

IanH
źródło
10

Tak, jeśli proces u góry przekracza 100% lub u góry widać obciążenie> 1,0, oznacza to, że więcej niż jeden rdzeń jest zajęty lub system jest nadmiernie subskrybowany. Nadsubskrypcja oznacza, że ​​na rdzeń trzeba włożyć więcej pracy niż jest to możliwe pod względem fizycznym.

W topmożna również sortować widok według różnych parametrów (takich jak używana pamięć). Jeśli chcesz sprawdzić, co możesz posortować, zajrzyj na stronę pomocy lub podręcznika użytkownika top.

Możesz także zobaczyć wszelkiego rodzaju informacje o samych procesach, takie jak pamięć wirtualna lub rezydentna używana przez proces i jeśli jest w stanie uśpienia lub jest aktualnie uruchomiona, a także wykorzystany czas procesora.

W razie potrzeby można również wyświetlić średnią obciążenie u góry uptime.

private_meta
źródło
4
Jak mogę sprawdzić, czy używa więcej niż jednego rdzenia, czy też jest nadmiernie subskrybowany? Dzięki!
user1953384