significado da saída aux ps


226

Ao digitar ps aux, o que significa cada coluna da saída? Por exemplo

$ 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   

Obrigado e cumprimentos!

Respostas:


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 = usuário proprietário do processo
  • PID = ID do processo
  • % CPU = É o tempo de CPU usado dividido pelo tempo em que o processo está em execução.
  • % MEM = proporção do tamanho do conjunto residente do processo com a memória física na máquina
  • VSZ = uso de memória virtual de todo o processo (em KiB)
  • RSS = tamanho do conjunto residente, a memória física não trocada que uma tarefa usou (no KiB)
  • TTY = controle de tty (terminal)
  • STAT = estado do processo com vários caracteres
  • START = hora ou data de início do processo
  • TIME = tempo acumulado da CPU
  • COMMAND = comando com todos os seus argumentos

Veja a página de manual do ps para mais informações.


26
Você pode adicionar, por exemplo, que VSZ e RSS são emitidos no KiB, não bytes como eu pensava ...
Christian Daven

Você pode falar um pouco mais sobre as diferenças entre VSZ e RSS? Obrigado.
Qian Chen

3
RSS é a quantidade de memória física que esse processo está usando. Observe que isso inclui qualquer memória que seja compartilhada com outros processos (por exemplo, se outros processos forem carregados do mesmo executável ou bibliotecas), para que possa relatar o uso da memória. VSZ é o tamanho do espaço da memória virtual - não se deixe enganar por isso, pois nem toda a memória é "usada". Inclui memória em uso (RSS), memória que é trocada, mas geralmente a maioria é apenas um espaço de endereçamento adicional que na verdade não possui nenhuma memória real alocada - para usar esse espaço, mais memória precisa ser fornecida para o processo.
thomasrutter

2
Eu tentei pensar em uma analogia. Digamos que você esteja jantando e compartilhando um suprimento limitado de comida com outras pessoas. RSS é a quantidade de comida atualmente no seu prato. VSZ é o tamanho do seu prato. Nem todo o seu prato é comida e não é relevante para a quantidade de comida que você pediu.
thomasrutter

41

Além disso, isso pode ser útil:

Códigos de estado do processo:

  • R em execução ou executável (na fila de execução)
  • D sono ininterrupto (geralmente IO)
  • S interrupção do sono (aguardando a conclusão de um evento)
  • Z extinto / zumbi, encerrado, mas não colhido pelo pai
  • T parado, por um sinal de controle de trabalho ou porque está sendo rastreado

Alguns modificadores extras:

  • < alta prioridade (não é agradável para outros usuários)
  • N baixa prioridade (agradável para outros usuários)
  • L possui páginas bloqueadas na memória (para E / S personalizadas e em tempo real)
  • s é um líder de sessão
  • l é multiencadeado (usando CLONE_THREAD, como os pthreads NPTL)
  • + está no grupo de processos em primeiro plano

24

No Linux, o comando:

ps -aux

Significa mostrar todos os processos para todos os usuários. Você pode estar se perguntando o que o x significa? O x é um especificador que significa 'qualquer um dos usuários'. Então você pode digitar isso:

ps -auroot

Que exibe todos os processos raiz, ou

ps -auel

que exibe todos os processos do usuário el. O technobabble na página 'man ps' é: "ps -aux imprime todos os processos pertencentes a um usuário chamado 'x', além de imprimir todos os processos que seriam selecionados pela opção -a.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.