Quem está roubando meus pids?

1

Notei que meu sistema Debian Jessie está usando muitos pids, mesmo quando o sistema está (deve estar) em grande parte ocioso. O seguinte mostra que mais ou menos 270 pids são usados por 10s, enquanto o número de processos ativos permanece mais ou menos o mesmo:

$ while :; do echo -n "$(ps | tail -n 1 | cut -d' ' -f1) "; ps aux | wc -l; sleep 10; done
15008 155
15280 155
15555 155
15800 155
16074 155
16343 155
16612 155
16881 155
17150 155
17418 155
17688 155

Mesmo que a carga do sistema não seja muito alta, eu gostaria de investigar isso e corrigi-lo (se possível) antes que ele se torne um problema.

    
por Keelan 05.04.2016 / 10:09

2 respostas

2

Se a carga permanecer baixa e a contagem de processos permanecer bastante constante, isso significa apenas que processos de curta duração são gerados durante o período de dez segundos. Vinte e sete processos por segundo podem não ser um problema, portanto, pode não haver nada para corrigir.

Por outro lado, isso pode ser um daemon falso ou algo que tente iniciar um processo que rapidamente falha e o faz novamente em um loop infinito.

Para descobrir, eu recomendaria usar um dos utilitários também criados pelo Solaris dtrace execsnoop author , por exemplo aquele usando ftrace ou aquele outro usando o systemtap .

    
por 05.04.2016 / 10:47
1

Se nada mais, seu script de shell criará um processo para cada comando, como ps , cut , tail , etc., nesse loop. Você só podia observar os sistemas com um aplicativo (um processo ...) que verificava o sistema de arquivos /proc procurando por alterações relevantes.

Leitura adicional:

por 05.04.2016 / 10:14