Różnica między wyjściem ps a wyjściem top?

3

Trudno mi zrozumieć wyjście produkowane przez ps i top?

To jest wynik na górze:

PID    PSID USERNAME  TID  PRI NICE  SIZE  RES  STATE  TIME    CPU   COMMAND
26439 23712 soumyau  26439  15    0 7512M 5234M sleep 286:25  16.67% or_lse2 (18)
26523 23712 soumyau  26439  -2    0 7512M 5234M cpu9  143:10   8.33% or_lse2
26522 23712 soumyau  26439  -2    0 7512M 5234M cpu3  143:10   8.33% or_lse2

To jest przez ps ( ps -L -p 26439 -o pcpu,psr,pid,user,tid ):

%CPU  PSR   PID   USER       TID
99.9   3   26439 soumyau    26522
99.9   9   26439 soumyau    26523
0.0    8   26439 soumyau    26439

Dlaczego występują różnice w dwóch wynikach?

Czy możesz krótko wyjaśnić znaczenie dwóch% CPU?

Soumya Prasad Ukil
źródło
góra zwykle dzieli rzeczywistą wartość przez liczbę rdzeni (procesorów). Naciśnij „1”, aby zobaczyć wartości na rdzeń.
kofemann

Odpowiedzi:

5

ps opiera się na akumulacji wykorzystania procesora (od rozpoczęcia procesu), gdzie% CPU jest średnią (suma / czas).

top zgłasza (średnie) użycie procesora od ostatniego próbkowania.

Dla odniesienia patrz ten fragment z man ps

Wykorzystanie procesora jest obecnie wyrażone jako procent spędzonego czasu   działa przez cały czas trwania procesu. To nie jest idealne,   i nie jest zgodny ze standardami, które ps w inny sposób spełnia   do. Jest mało prawdopodobne, aby użycie procesora sumowało się dokładnie do 100%.

i od man top

Udział zadania upływającego czasu procesora od ostatniej aktualizacji ekranu,   wyrażony jako procent całkowitego czasu procesora. W prawdziwym SMP   środowisko, jeśli tryb Irix jest wyłączony, top będzie działał w trybie Solaris   gdzie użycie procesora przez zadanie zostanie podzielone przez całkowitą liczbę procesorów.   Przełączasz tryby „Irix / Solaris” za pomocą interaktywnego polecenia „I”.

wkoot
źródło
0

Polecenie „ps” pokazujące cały proces w czasie. który ma cały proces. Nie obchodzi go stan procesu (bieganie lub spanie).

Polecenie „top” pokazujące uruchomiony proces w najwyższej kolejności. Dlatego możesz zobaczyć różnicę w wynikach. Część procesu w pierwszej linii po pewnym czasie przejdzie drugi lub trzeci stopień zależności od statusu procesu.

max
źródło
0

Różnica polega tylko na tym, czy jest podzielona przez liczbę rdzeni, czy nie.

gruntownie ps pokazuje wyjście NIE podzielone przez liczbę rdzeni
zamiast Top które mogą działać w dwóch trybach
naciśnij:

[SHIFT]+[I]
aby przełączyć do / z trybu Irix
i / lub zobaczysz te same numery jak w ps
Ja Sc
źródło