Descobrir qual processo bifurca muitos encadeamentos

3

Eu tenho um processo em uma instalação do Linux que em algum momento tem algum tipo de pico e passa o número máximo permitido de threads / processos permitidos pelo sistema. Eu encontrei isso verificando ps -elfT | wc -l repetidamente.

Mas o que eu não sei é exatamente o que causa esse pico.
A saída de ps -elfT tem muita informação, mas não consigo entender facilmente se existe algum processo filho que faz algum tipo de "borrão" em forking e faz uma bagunça.

Como eu poderia descobrir isso?

Exemplo: ps -elfT | cut -d' ' -f3 | sort |uniq me fornece os processos em execução no momento. Como eu poderia adicionar uma contagem para ver quanto cada uma delas contribui para o total?

    
por Jim 13.12.2017 / 20:54

1 resposta

4
ps -eo nlwp,pid,args --sort nlwp

Mostraria uma lista de processos classificados por seu número de threads.

Para uma visão superior disso, você sempre pode fazer:

watch -n 1 'ps -eo nlwp,pid,args --sort -nlwp | head'

Ou você pode usar ... top .

  • pressione f para selecionar os campos a serem exibidos.
  • localize nTH (o número de threads) e pressione d para exibir e s para torná-lo o tipo encomenda
  • você pode ajustar sua posição de exibição com e então e e .
  • q para voltar à lista de processos
  • pressione H se quiser ver todos os tópicos.
  • d para ajustar o atraso.
  • ? para ajuda.
por 13.12.2017 / 21:24