desenv-web-rp.com

Por que o `htop` mostra mais processo que o` ps`

No ps xf

26395 pts/78   Ss     0:00  \_ bash
27016 pts/78   Sl+    0:04  |   \_ Unicorn_Rails master -c config/Unicorn.rb                                           
27042 pts/78   Sl+    0:00  |       \_ Unicorn_Rails worker[0] -c config/Unicorn.rb                                        

Em htop, aparece como: htop showing multiple Unicorn_Rails lines

Por que htop mostra mais processo que ps?

195
Cheng

Por padrão, htop lista cada thread de um processo separadamente, enquanto ps não. Para desativar a exibição de tópicos, pressione H ou use o menu "Opções de configuração/exibição", "Ocultar tópicos da área do usuário". Isso coloca a seguinte linha no seu ~/.htoprc ou ~/.config/htop/htoprc (você pode alternativamente colocá-lo lá manualmente):

hide_userland_threads=1

(Além disso hide_kernel_threads=1, alterne pressionando K, mas é 1 por padrão.)

Outra opção útil é “Exibir linhas em uma cor diferente” no mesmo menu (highlight_threads=1 no .htoprc), que faz com que os tópicos sejam mostrados em uma cor diferente (verde no tema padrão).

Na primeira linha da exibição htop, há uma linha como “Tarefas: 377, 842 thr, 161 kthr; 2 correndo ”. Isso mostra o número total de processos, threads do mundo do usuário, threads do kernel e threads em um estado executável. Os números não mudam quando você filtra a exibição, mas as indicações "thr" e "kthr" desaparecem quando você desativa a inclusão de threads de usuário/kernel, respectivamente.

Quando você vê vários processos que possuem todas as características em comum, exceto os campos relacionados ao PID e à CPU (valor agradável,% de CPU, TIME +, ...), é altamente provável que eles sejam threads no mesmo processo.

279

Para mim, em um sistema Arch Linux mais ou menos atual, ps xf mostra apenas os processos pertencentes ao meu ID de usuário. htop me mostra todos os processos. Tentar ps -ef para uma lista de todos os processos, ou talvez ps -ejH para obter uma lista de relacionamento filho/pai.

1
Bruce Ediger

o htop também está mostrando processos que foram finalizados. Isso é ótimo, para que você possa ver processos de curta duração e quais recursos eles podem ter consumido. Se você sair do htop e reiniciá-lo, verá que eles desapareceram. Não consigo descobrir uma maneira de fazer o htop descartar processos históricos sem reiniciar, então talvez exista uma maneira.

0
MikeB