Classifique os 10 principais processos pelo número de threads criados cada um no Linux

Classifique os 10 principais processos pelo número de threads criados cada um no Linux

Eu tenho um servidor Linux/Debian rodando: postgresql, tomcat. Às vezes não consigo acessar o servidor por ssh.

Quando abro a conexão ssh com meu servidor, posso digitar meu ID de login (root) e senha, mas quando digito minha senha e pressiono Enter, não há resposta.

Pela função 'sysinfo', descobri que quando o servidor enfrenta esta situação, existem cerca de 1600 processos (este valor é de sysinfo.procs) e a média de carga é quase 300 (no caso normal, a média de carga está entre 0 e 1)

O que estou tentando é listar os 5 principais processos por número de threads que ele cria. No entanto, não consigo encontrar um método fácil. Há alguma maneira que encontrei.

  1. Registre o valor NLWP de ps -efL, para que eu possa saber qual processo cria muitos threads de forma anormal.
  2. Quando a média de carga ficar cada vez maior, copie todo /procs/*/statuso arquivo para o diretório de log e poderei saber qual processo tem o maior valor de 'Threads' posteriormente.

Se houver alguma outra sugestão, por favor me avise. Isso me deixa louco porque este servidor Linux não deve falhar no serviço

Responder1

Experimente isto:

$ ps axo nlwp,pid,cmd | sort -rn | head -10

ps ax  - see every process
    o  - format
         nlwp: number of lightweight processes (threads) in the process

informação relacionada