Logging do que terminou um processo?

0

Devido aos recursos restritos do servidor, suspeito que o System encerre os processos de tempos em tempos. Eu quero que esses eventos sejam registrados em um arquivo separado para investigação.

Como eu configuro isso no syslog.conf? Eu também gostaria de registrar o usuário que usa kill cmd para finalizar o processo.

O sistema é o CentOS Release 6.4 rodando com o rsyslogd.

    
por wez 19.11.2014 / 08:24

1 resposta

2

System will end processes from time to time.

Sim, o kernel do Linux pode matar processos quando há uma grave falta de memória (e swap!). O recurso que faz isso é chamado "oomkiller" (killer de memória insuficiente) e informações detalhadas são gravadas no log do kernel sobre o processo ter sido eliminado. Você pode ver esse log com dmesg e o servidor syslog geralmente é configurado para gravá-lo em /var/log/kern.log .

No entanto, se o seu sistema está com pouca memória, isso geralmente é considerado um problema crítico que deve ser resolvido. Não há como controlar qual processo o oomkiller escolherá para matar, e pode muito bem matar processos importantes do sistema de tempos em tempos, então você não pode realmente contar com o seu sistema sendo totalmente estável depois que isso aconteceu.

I would also like to log user that uses kill cmd

Essa informação não é coletada ou registrada por qualquer coisa e não está disponível. O melhor que você pode esperar é que alguém execute sudo kill <something> e, nesse caso, sudo (não kill ) registrará o comando. Mas usuários normais provavelmente não estão usando sudo .

    
por 19.11.2014 / 09:12