Odpowiedzi:
ps
Po co korzystać, skoro można to łatwo zrobić za pomocą top
polecenia?
Jeśli musisz użyć ps
, spróbuj tego:
ps aux | sort -nrk 3,3 | head -n 5
Jeśli chcesz czegoś, co jest naprawdę „topowe” z ciągłymi aktualizacjami, użyj zegarka
watch "ps aux | sort -nrk 3,3 | head -n 5"
ps aux | sort -nrk 3,3 | head -n 5
top
faktycznie działa.
top
czyta listę procesów i wyświetla wynik samodzielnie, bez
Prawidłowa odpowiedź to :
ps --sort=-pcpu | head -n 6
Możesz więc określać kolumny bez zakłócania sortowania.
Dawny:
ps -Ao user,uid,comm,pid,pcpu,tty --sort=-pcpu | head -n 6
Uwaga dla systemu Mac OS X : w systemie Mac OS X ps
nie rozpoznaje --sort
, ale oferuje -r
sortowanie według bieżącego użycia procesora. Dlatego w systemie Mac OS X można użyć:
ps -Ao user,uid,comm,pid,pcpu,tty -r | head -n 6
bash
(x2, albo head
też) ps
...
sort
, drugi pokazuje, jak określić kolumny bez zakłócania sortowania. Wyjaśniając coś ... zawsze lepiej jest być zwięzłym i wyjaśniać jedną rzecz na raz.
W zależności od potrzeb może być to nieco bardziej czytelne:
ps -eo pcpu,pid,user,args --no-headers| sort -t. -nk1,2 -k4,4 -r |head -n 5
próbka wyjściowa:
1.3 4 root [ksoftirqd/0]
1.1 9 root [ksoftirqd/1]
1.0 17606 nobody /usr/sbin/gmetad
1.0 13 root [ksoftirqd/2]
0.3 17401 nobody /usr/sbin/gmond
(pola to% CPU, PID, USER, COMMAND)
Nie sądzę, że ps
tego szukasz. Czy spojrzałeś na wynik z top
?
Jeśli masz GNU-Top, spróbuj użyć jego trybu wsadowego, aby wyrzucić listę procesów posortowaną według użycia procesora i używając head / tail, aby uzyskać 5 pierwszych linii (pierwsze 8 to nagłówki):
top -b -n 1 | head -n 12 | tail -n 5
Top BSD wydaje się zachowywać inaczej i nie ma trybu nieinteraktywnego, więc użyj jednego z innych ps
opartych na nim rozwiązań.
top -o cpu -n 5
sposobem na osiągnięcie tego samego. Czy ktoś wie? Mój top
różni się od twojego top
.
-o
i -n
ustawia, ile razy odświeża wyświetlacz przed zamknięciem.
top
wydaje się nie mieć trybu wsadowego, co jest dość ograniczające. Musi istnieć jakiś sposób przesyłania top
do innych poleceń. Zrobię trochę badań.
top
działało zgodnie z opisem dzisiejszego popołudnia. Twoje zdrowie.
Najszybszy jeden linijka, jaki znalazłem do tego (uwaga 6, ponieważ sumuje się nagłówek):
ps aux k-pcpu | head -6
Zauważ, że obecne wersje ps mają w sobie zdolność sortowania, w oparciu o kody pól (podane na stronie ps ps). Kod pola dla użycia procesora to „c”. Możesz użyć --sort c
na końcu polecenia ps, npps aux --sort c
Spowoduje to umieszczenie procesu przy użyciu największej liczby procesorów na dole listy. Odwróć kolejność listy, dodając minus do kodu pola używanego do sortowania npps aux --sort -c
Aby dodać punkt do innych cennych odpowiedzi, wolę:
ps auxk-c | head -6
Drukuje również nagłówek, co jest miłe.
Tutaj k
jest identyczne --sort
i c
określa pole użycia procesora (alias %cpu
) do sortowania, podczas gdy -
do sortowania wstecznego.
Możesz dodać więcej specyfikatorów oddzielone ,
, inne możliwe Specyfikatory to: %mem
, args
, bsdstart
, pid
, gid
, uid
..., które można znaleźć pełną listę w STANDARD SPECYFIKATORY FORMAT sekcji strony człowieka. Na przykład:
ps auxk -gid,-%mem | head -11
wypisuje 10 procesów o najwyższym identyfikatorze grupy, wewnętrznie posortowanych według zużycia pamięci.
Narzędzie wiersza polecenia ps
ma własną opcję sortowania, więc wolę:
$ ps -eo pcpu,args --sort=-%cpu | head
Możesz dodać kolumny, które chcesz. Zobacz, jakie inne opcje są dostępne na ps
stronie podręcznika .
$ man ps
top
w systemie Mac OS X ma opcję trybu rejestrowania w postaci top -l numberOfSamples
(która wydaje się być odpowiednikiem trybu wsadowego GNU top
). Konieczne jest jednak posiadanie co najmniej dwóch próbek, ponieważ „pierwsza wyświetlana próbka będzie wyświetlać nieprawidłowy% CPU dla każdego procesu, ponieważ jest obliczana z wykorzystaniem delty między próbkami” ( man 1 top
).
# examples
top -o cpu -l 2 -n 5 | tail -n 6
top -o cpu -l 2 -n 5 -stats pid,command,cpu | tail -n 6
top -o cpu -l 2 -n 5 -stats pid,command,cpu -U $(logname) | tail -n 6
Uważam, że najprostszym sposobem na sprawdzenie zużycia 5 najlepszych procesorów jest:
ps -eo pid,comm,%cpu,%mem --sort=-%cpu | head -n 5
Aby zobaczyć 5 największych procesów zajmujących pamięć , należy:
ps -eo pid,comm,%cpu,%mem --sort=-%mem | head -n 5
Gdzie,
-e
: Ta flaga służy do wybierania całego procesu
-o
: Ta flaga służy do formatowania zdefiniowanego przez użytkownika.
pid
: Ten argument służy do wyświetlania pid
comm
: Ten argument służy wyłącznie do wyświetlania nazwy polecenia. Aby uzyskać pełne wykorzystanie polecenia args
, cmd
lubcommand
%cpu
: Ten argument pokazuje procent wykorzystania procesora przez proces w formacie „##. #”. Tutaj pcpu
można również użyć.
%mem
: Ten argument pokazuje stosunek wielkości zestawu rezydentnego procesu do pamięci fizycznej na komputerze, wyrażony w procentach. Tutaj pmem
można również użyć.
--sort
: Określ kolejność sortowania. Po znak jest używany do sortowania najwyższą wartość na górze, gdzie jest opcja domyślna, która jest do listy rosnące numerycznej [czyli 0 do n].=
-
+