Você não pode ver quando o OOM passa, a única maneira é verificar os logs e esperar que ele esteja lá (às vezes ele não é gravado).
Existem ferramentas para verificar o uso de memória com o Nagios, eu pessoalmente uso check_mem. pl
Usamos o Nagios para monitorar nossos servidores. Agora, o linux usa toda a RAM que lhes damos, então não há como detectar se estamos prestes a ficar sem memória. Algumas vezes tivemos algumas falhas no servidor devido ao uso excessivo de memória.
Existe alguma maneira de detectar se o ubuntu (linux) inicia o killer da OOM? Eu sei que está escrito nos arquivos de log, mas existe alguma maneira de detectar quando é lançado?
/ RJ
Você não pode ver quando o OOM passa, a única maneira é verificar os logs e esperar que ele esteja lá (às vezes ele não é gravado).
Existem ferramentas para verificar o uso de memória com o Nagios, eu pessoalmente uso check_mem. pl
Talvez por logtail .
oom-killer deixa rastro de execução no syslog e no dmesg. Você pode colocar um cron ou um script para invocar através de alguma ferramenta de monitoramento que "logtails" syslog e avisa se existem linhas como a abaixo entre as execuções
Feb 24 13:35:29 hostname kernel: [22472693.216224] foobar:23 invoked oom-killer: gfp_mask=0x201da, order=0, oom_score_adj=0
O dmesg não está "logtailable", mas dmesg -c
limpa o buffer do dmesg após a impressão, assim o script pode simplesmente chamar dmegs -c | grep <string> | wc -l
Um valor de 1 ou maior significa que oom-killer foi invocado desde a execução / inicialização. Mas isso destruirá suas informações armazenadas no dmesg.
Obviamente, ele é iniciado quando você não tem memória virtual livre suficiente e um aplicativo solicita uma região de memória do kernel. Então, o que você realmente deve monitorar é o tamanho da sua memória livre. E a média de carga é um assunto para monitorar também, porque sempre fica alta quando não há memória livre suficiente.
Crie /etc/rsyslog.d/30-oom-killer.conf como abaixo:
if ($msg contains [
"oom",
"kill"
]) then {
/var/log/oom-killer.log
stop
}
Adicione /var/log/oom-killer.log ao /etc/logrotate.d/rsyslog .
Tags memory ubuntu-10.04 oom