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?
Odpowiedzi:
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
i od
man top
źródło
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.
źródło
Różnica polega tylko na tym, czy jest podzielona przez liczbę rdzeni, czy nie.
aby przełączyć do / z trybu Irixgruntownie ps pokazuje wyjście NIE podzielone przez liczbę rdzeni
zamiast Top które mogą działać w dwóch trybach
naciśnij:
i / lub zobaczysz te same numery jak w ps
źródło