Ao olhar para os limites de um processo em execução, vejo
Max pending signals 15725
- O que é isso?
- Como posso determinar um valor razoável para um serviço ocupado?
Geralmente, não consigo encontrar uma página que explique o que é cada limite. Alguns são bastante auto-explicativos (máximo de arquivos abertos), outros menos (tamanho máximo da fila de mensagens).
sigpending 31603
. Por que esses limites são números tão estranhos (ou seja, não são 2)?Respostas:
De acordo com a página de manual de
sigpending
:Portanto, os sinais (sigterm, sigkill, sigstop, ...) estão aguardando até o processo sair do estado
D
(sono ininterrupto). Geralmente, um processo está nesse estado quando está aguardando E / S. Esse sono não pode ser interrompido. Mesmo sigkill (kill -9
) não pode e o kernel espera até que o processo seja ativado (o sinal está pendente para entrega por tanto tempo).Para os outros valores pouco claros, daria uma olhada na página de manual de
limits.conf
.fonte
sigqueue
e para assetrlimit
quais você realmente deveria estar olhando.Os limites do processo são controlados por setrlimit (2)
Então você pode olhar para a sua página de manual:
Geralmente, você pode obter as informações mais detalhadas ao examinar páginas de manual de syscalls. C é a língua materna do UNIX / Linux.
fonte