Existe alguma maneira de verificar quais dos meus processos o kernel matou? Às vezes, faço logon no meu servidor e percebo que algo que deveria ter funcionado a noite toda só parou 8 horas e não tenho certeza se são os aplicativos ou os kernels.
Se o kernel interrompeu um processo (porque o sistema ficou sem memória), haverá uma mensagem de log do kernel. Check-in /var/log/kern.log
(no Debian / Ubuntu, outras distribuições podem enviar logs do kernel para um arquivo diferente, mas geralmente /var/log
no Linux).
Observe que, se o OOM-killer (falta de memória) for acionado, significa que você não possui memória virtual suficiente. Adicione mais swap (ou talvez mais RAM).
Algumas falhas de processo também são registradas nos logs do kernel (por exemplo, falhas de segmentação).
Se os processos foram iniciados no cron, você deve receber um email com mensagens de erro. Se os processos foram iniciados a partir de um shell em um terminal, verifique os erros nesse terminal. Execute o processo screen
para ver o terminal novamente pela manhã. Isso pode não ajudar se o OOM-killer for acionado, porque também pode ter matado o cron ou o processo de tela; mas se você encontrou o OOM-killer, esse é o problema que você precisa corrigir.
/var/log/kern.log
?A Contabilidade de processos pode ajudar aqui.
Em resumo:
Em seguida, tente comandos como:
ou no Ubuntu:
Vejo:
ATUALIZAR
Estranhamente, o
pacct
arquivo tem informações sobre o status de saída, maslastcomm
nemsa
parece nem imprimi-lo.Tanto quanto eu posso ver, você teria que escrever seu próprio programa C para acessar as informações.
ATUALIZAÇÃO 2
Aqui está uma versão que imprime o código de saída.
Os dois últimos campos são "S" para sinalizado e "E" para encerrado, seguidos pelo número do sinal ou status de saída.
Portanto, no seu caso, você provavelmente está procurando por "S 15", o que significa que ele tem um SIGTERM.
Comparado com "E 0", o que significa que o processo foi encerrado sem erro.
Apenas minimamente testado.
fonte
Este comando informará quais são os serviços atualmente em execução e quais não foram iniciados ou parados.
fonte