Tengo un pequeño servidor privado virtual que ejecuta CentOS y www / mail / db, que recientemente ha tenido un par de incidentes en los que el servidor web y ssh no respondieron.
Mirando los registros, vi que Oom-Killer había matado estos procesos, posiblemente debido a la falta de memoria y el intercambio.
¿Alguien puede darme algunos consejos sobre cómo diagnosticar lo que pudo haber causado el incidente más reciente? ¿Es probable que se haya matado el primer proceso? ¿Dónde más debería estar buscando?
Tuve un momento difícil con eso recientemente, porque los procesos en los que el asesino pisa fuerte no son necesariamente los que han salido mal. Mientras intentaba diagnosticar eso, aprendí sobre una de mis herramientas ahora favoritas, además.
Esta utilidad es como un top en los esteroides. Durante un intervalo de tiempo preestablecido, perfila la información del sistema. Luego puede reproducirlo para ver qué está pasando. Destaca 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ó.
Herramienta fantástica: no puedo decir lo suficiente al respecto.
encima del monitor de rendimiento
fuente
Este artículo sobre domesticación oom-kille r parece particularmente útil. Parece que puede establecer prioridades para evitar que Oom-Killer mate ciertos procesos (¡sshd sería un buen comienzo para un VPS!)
fuente
OOM solo está matando el proceso que tiene más uso de memoria en ese momento. No necesariamente el proceso que superó el límite o aumentó la llamada de OOm.
Además, Linux es laxo con su asignación de memoria. AKA si su proceso necesita 5 gb pero solo está usando 3, Linux permitirá que otro proceso use el 2 que no está usando. rendimiento> fiabilidad. entonces cuando p1 necesita su 5 completo no puede obtenerlo
No es un experto. solo lidiando con esto yo mismo y lo que he encontrado
fuente