Como diagnosticar as causas dos processos de eliminação de killer

9

Eu tenho um pequeno servidor privado virtual rodando o CentOS e o www / mail / db, que recentemente teve alguns incidentes em que o servidor web e o ssh ficaram sem resposta.

Olhando para os logs, vi que o oom-killer havia matado esses processos, possivelmente devido à falta de memória e troca.

Alguém pode me dar algumas dicas sobre como diagnosticar o que pode ter causado o incidente mais recente? É provável que o primeiro processo tenha sido morto? Onde mais eu deveria estar procurando?

    
por dunxd 22.04.2010 / 00:48

3 respostas

11

Não, o algoritmo não é tão simplista. Você pode encontrar mais informações em:

link

Se você quiser rastrear o uso da memória, recomendo executar um comando como:

ps -e -o pid,user,cpu,size,rss,cmd --sort -size,-rss | head

Ele fornecerá uma lista dos processos que estão usando a maior parte da memória (e provavelmente causando a situação da OOM). Remova o | head se você preferir verificar todos os processos.

Se você colocar isso no seu cron, repita-o a cada 5 minutos e salve-o em um arquivo. Mantenha pelo menos dois dias, para verificar o que aconteceu mais tarde.

Para serviços críticos como o ssh, recomendo usar o monit para reinicializá-los automaticamente em tal situação. Ele pode economizar na perda de acesso à máquina se você não tiver um console remoto.

Boa sorte,
João Miguel Neves

    
por 29.04.2010 / 11:50
6

Eu tive dificuldades com isso recentemente, porque o (s) processo (s) que o OOM-killer pisa não são necessariamente os que deram errado. Enquanto tentava diagnosticar isso, aprendi sobre uma das minhas ferramentas favoritas, no topo.

Este utilitário é como um top em esteróides. Em um intervalo de tempo predefinido, ele faz o perfil das informações do sistema. Você pode então reproduzi-lo para ver o que está acontecendo. Destaca processos que são 80% + em azul e 90% + em vermelho. A visão mais útil é uma tabela de uso de memória de quanto de memória foi alocada no último período de tempo. Essa é a que mais me ajudou.

Ferramenta fantástica - não posso dizer o suficiente sobre isso.

monitor de desempenho superior

    
por 29.04.2010 / 12:25
1

Este artigo sobre como domesticar o oom-kille r parece particularmente útil. Parece que você pode definir prioridades para evitar que o oom-killer mate certos processos (o sshd seria um bom começo para um VPS!)

    
por 08.11.2010 / 22:55