znaczenie wyjścia ps aux

226

Kiedy wpisujesz ps aux, co oznacza każda kolumna wyniku? Na przykład

$ ps aux  
timothy  29217  0.0  0.0 11916 4560 pts/21   S+   08:15   0:00 pine  
root     29505  0.0  0.0 38196 2728 ?        Ss   Mar07   0:00 sshd: can [priv]   
can      29529  0.0  0.0 38332 1904 ?        S    Mar07   0:00 sshd: can@notty   

Dziękuję i pozdrawiam!

Tim
źródło

Odpowiedzi:

275
$ ps aux  
USER       PID  %CPU %MEM  VSZ RSS     TTY   STAT START   TIME COMMAND
timothy  29217  0.0  0.0 11916 4560 pts/21   S+   08:15   0:00 pine  
root     29505  0.0  0.0 38196 2728 ?        Ss   Mar07   0:00 sshd: can [priv]   
can      29529  0.0  0.0 38332 1904 ?        S    Mar07   0:00 sshd: can@notty  
  • USER = użytkownik będący właścicielem procesu
  • PID = identyfikator procesu
  • % CPU = Jest to wykorzystany czas procesora podzielony przez czas, w którym proces był uruchomiony.
  • % MEM = stosunek rozmiaru zestawu rezydentnego procesu do pamięci fizycznej na komputerze
  • VSZ = wykorzystanie pamięci wirtualnej całego procesu (w KiB)
  • RSS = rezydentny rozmiar zestawu, nie wymieniona pamięć fizyczna używana przez zadanie (w KiB)
  • TTY = kontrolowanie tty (terminal)
  • STAT = wieloznakowy stan procesu
  • START = czas rozpoczęcia lub data procesu
  • CZAS = skumulowany czas procesora
  • COMMAND = polecenie ze wszystkimi argumentami

Zobacz stronę man ps, aby uzyskać więcej informacji.

ciężki
źródło
26
Można dodać np., Że VSZ i RSS są wyprowadzane w KiB, a nie bajty, jak myślałem na początku ...
Christian Davén
Czy możesz powiedzieć coś więcej o różnicach między VSZ a RSS? Dzięki.
Qian Chen,
3
RSS to ilość pamięci fizycznej, z której korzysta ten proces. Zauważ, że obejmuje to każdą pamięć współdzieloną z innymi procesami (np. Jeśli inne procesy są ładowane z tego samego pliku wykonywalnego lub bibliotek), więc może nadmiernie zgłaszać użycie pamięci. VSZ jest wielkością wirtualnej przestrzeni pamięci - nie daj się zwieść, ponieważ nie jest to cała „używana” pamięć. Obejmuje pamięć w użyciu (RSS), pamięć, która została zamieniona, ale zwykle większość to tylko dodatkowa przestrzeń adresowa, która tak naprawdę nie ma przydzielonej żadnej rzeczywistej pamięci - aby skorzystać z tej przestrzeni, trzeba by było przekazać więcej pamięci proces.
thomasrutter
2
Próbowałem wymyślić analogię. Powiedzmy, że jesz obiad, więc dzielisz się ograniczoną ilością jedzenia z innymi ludźmi. RSS to ilość jedzenia aktualnie na twoim talerzu. VSZ to rozmiar twojego talerza. Nie wszystkie z twoich talerzy to jedzenie i nie ma to wpływu na to, ile jedzenia zażądałeś.
thomasrutter
41

Może to również być pomocne:

Kody stanu procesu:

  • R działa lub można uruchomić (w kolejce uruchamiania)
  • D nieprzerwany sen (zwykle IO)
  • S przerywany sen (oczekiwanie na zakończenie zdarzenia)
  • Z zlikwidowany / zombie, zakończony, ale nie zebrany przez swojego rodzica
  • T zatrzymany przez sygnał kontroli zadania lub z powodu jego śledzenia

Niektóre dodatkowe modyfikatory:

  • < wysoki priorytet (nieprzyjemny dla innych użytkowników)
  • N niski priorytet (miły dla innych użytkowników)
  • L ma strony zablokowane w pamięci (dla niestandardowych operacji we / wy w czasie rzeczywistym)
  • s jest liderem sesji
  • l jest wielowątkowy (przy użyciu CLONE_THREAD, jak robią to pthreads NPTL)
  • + należy do grupy procesów pierwszego planu
Uri
źródło
24

W systemie Linux polecenie:

ps -aux

Oznacza wszystkie procesy dla wszystkich użytkowników. Być może zastanawiasz się, co oznacza x? X jest specyfikatorem, który oznacza „dowolnego użytkownika”. Więc możesz wpisać to:

ps -auroot

Który wyświetla wszystkie procesy root, lub

ps -auel

który wyświetla wszystkie procesy od użytkownika el. Technobabble na stronie „man ps” to: „ps -aux drukuje wszystkie procesy należące do użytkownika o nazwie„ x ”, a także drukuje wszystkie procesy, które zostałyby wybrane przez opcję -a.

Eric Leschinski
źródło