Eu tenho um pequeno servidor virtual privado executando o CentOS e o www / mail / db, que recentemente teve alguns incidentes nos quais o servidor da Web e o ssh ficaram sem resposta.
Olhando para os logs, vi que 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 seja morto? Onde mais eu deveria estar procurando?
Eu tive um momento difícil com isso recentemente, porque os processos em que o assassino do pânico pisa não são necessariamente os que deram errado. Enquanto tentava diagnosticar isso, aprendi sobre uma das minhas ferramentas agora favoritas, no topo.
Este utilitário é como um top em esteróides. Durante um intervalo de tempo predefinido, ele analisa as informações do sistema. Você pode reproduzi-lo para ver o que está acontecendo. Ele destaca os processos com 80% + em azul e 90% + em vermelho. A visualização mais útil é uma tabela de uso de memória de quanta memória foi alocada no último período. Essa foi a que mais me ajudou.
Ferramenta fantástica - não posso dizer o suficiente sobre isso.
no topo do monitor de desempenho
fonte
Este artigo sobre domar oom-kille r parece particularmente útil. Parece que você pode definir prioridades para impedir que oom-killer acabe com certos processos (o sshd seria um bom começo para um VPS!)
fonte
OOM está apenas matando o processo que tem mais uso de memória naquele momento. Não necessariamente o processo que ultrapassou o limite ou aumentou a chamada OOm.
Além disso, o linux é frouxo com sua alocação de memória. Também conhecido como AKA, se seu processo precisar de 5 GB, mas estiver usando apenas 3, o Linux permitirá que outro processo use os 2 que não estão sendo usados. desempenho> confiabilidade. então, quando o p1 precisa de 5 completos, não é possível obtê-lo
Não é um exeprt. apenas lidando com isso sozinho e o que eu encontrei
fonte