Odpowiedzi:
psPo co korzystać, skoro można to łatwo zrobić za pomocą toppolecenia?
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
topfaktycznie działa.
topczyta 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 psnie rozpoznaje --sort, ale oferuje -rsortowanie 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 headteż) 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 pstego 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 psopartych na nim rozwiązań.
top -o cpu -n 5sposobem na osiągnięcie tego samego. Czy ktoś wie? Mój topróżni się od twojego top.
-oi -nustawia, ile razy odświeża wyświetlacz przed zamknięciem.
topwydaje się nie mieć trybu wsadowego, co jest dość ograniczające. Musi istnieć jakiś sposób przesyłania topdo innych poleceń. Zrobię trochę badań.
topdział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 cna 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 kjest identyczne --sorti cokreś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 psma 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 psstronie podręcznika .
$ man ps
topw 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, cmdlubcommand
%cpu: Ten argument pokazuje procent wykorzystania procesora przez proces w formacie „##. #”. Tutaj pcpumoż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 pmemmoż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].=-+