GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo diagnosticar las causas de los procesos de matanza oom-killer

Solución 1:

No, el algoritmo no es tan simple. Puede encontrar más información en:

http://linux-mm.org/OOM_Killer

Si desea realizar un seguimiento del uso de la memoria, le recomiendo ejecutar un comando como:

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

Le dará una lista de los procesos que están usando la mayor cantidad de memoria (y probablemente causando la situación OOM). Eliminar el | head si prefieres revisar todos los procesos.

Si pone esto en su cron, repítalo cada 5 minutos y guárdelo en un archivo. Conserva al menos un par de días, para que puedas comprobar lo que sucedió más tarde.

Para servicios críticos como ssh, recomendaría usar monit para reiniciarlos automáticamente en tal situación. Podría evitar perder el acceso a la máquina si no tiene una consola remota.

La mejor de las suertes,
João Miguel Neves

Solución 2:

Tuve un momento difícil con eso recientemente, porque los procesos que el oom-killer pisotea no son necesariamente los que han salido mal. Mientras intentaba diagnosticar eso, aprendí sobre una de mis herramientas ahora favoritas, arriba.

Esta utilidad es como un top con esteroides. Durante un intervalo de tiempo preestablecido, perfila la información del sistema. A continuación, puede reproducirlo para ver qué está pasando. Resalta los procesos que son 80%+ en azul y 90%+ en rojo. La vista más útil es una tabla de uso de memoria de cuánta memoria se asignó en el último período de tiempo. Ese es el que más me ayudó.

Fantástica herramienta:no puedo decir lo suficiente sobre ella.

encima del monitor de rendimiento


Linux
  1. Cómo encontrar los principales procesos en ejecución por memoria y uso de CPU

  2. ¿Cómo probar Oom-killer desde la línea de comandos?

  3. Cómo matar procesos en ejecución en Linux

  4. ¿Cómo enumerar los procesos adjuntos a un segmento de memoria compartida en Linux?

  5. Clasificación de procesos por uso de memoria

Cómo borrar la memoria de intercambio en Linux

Cómo encontrar los 10 principales procesos en ejecución por memoria y uso de CPU

Cómo encontrar los principales procesos en ejecución por uso de memoria

Cómo usar el comando PS

Cómo encontrar los principales procesos en ejecución por memoria y uso de CPU en Linux

¿Cómo perfilar el uso de la memoria?