Jak pokazać pięć najlepszych procesów wykorzystujących procesor za pomocą ps?
101
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, bezPrawidłowa odpowiedź to :
Możesz więc określać kolumny bez zakłócania sortowania.
Dawny:
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ć:źródło
bash
(x2, albohead
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:
próbka wyjściowa:
(pola to% CPU, PID, USER, COMMAND)
źródło
Nie sądzę, że
ps
tego szukasz. Czy spojrzałeś na wynik ztop
?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 BSD wydaje się zachowywać inaczej i nie ma trybu nieinteraktywnego, więc użyj jednego z innych
ps
opartych na nim rozwiązań.źródło
top -o cpu -n 5
sposobem na osiągnięcie tego samego. Czy ktoś wie? Mójtop
różni się od twojegotop
.-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łaniatop
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):
źródło
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 np
ps aux --sort -c
źródło
Aby dodać punkt do innych cennych odpowiedzi, wolę:
Drukuje również nagłówek, co jest miłe.
Tutaj
k
jest identyczne--sort
ic
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:wypisuje 10 procesów o najwyższym identyfikatorze grupy, wewnętrznie posortowanych według zużycia pamięci.
źródło
Narzędzie wiersza polecenia
ps
ma własną opcję sortowania, więc wolę:Możesz dodać kolumny, które chcesz. Zobacz, jakie inne opcje są dostępne na
ps
stronie podręcznika .źródło
top
w systemie Mac OS X ma opcję trybu rejestrowania w postacitop -l numberOfSamples
(która wydaje się być odpowiednikiem trybu wsadowego GNUtop
). 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
).źródło
top
wyświetli, co korzysta z twojego procesora. Jeśli jest zainstalowany,htop
umożliwia bardziej szczegółową kontrolę, w tym filtrowanie według - w twoim przypadku - procesora.źródło
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 pidcomm
: Ten argument służy wyłącznie do wyświetlania nazwy polecenia. Aby uzyskać pełne wykorzystanie poleceniaargs
,cmd
lubcommand
%cpu
: Ten argument pokazuje procent wykorzystania procesora przez proces w formacie „##. #”. Tutajpcpu
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. Tutajpmem
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].=
-
+
źródło
top -bn1 |sed -n '7,12'p
działa również jako miły mały wkładka.Chociaż wolę używać ps z --sort = X -o X, Y, Z
za pomocą ps możesz pobrać różne statystyki grep dla procesu LUB użytkownika, a następnie sumować LUB ściąć je za pomocą potoku do przebudzenia.
źródło