El mecanismo de OOM killer es un mecanismo para que Linux elimine procesos. Si el proceso corrompe los recursos del sistema en cierta medida, el mecanismo de OOM killer forzará el proceso a matar. Este artículo presentará cómo Linux utiliza el mecanismo asesino de OOM.
En términos simples, este mecanismo vigilará los que toman demasiada memoria, especialmente en el momento de forma rápida consumen grandes cantidades de los procesos de memoria, con el fin de evitar que fuera de la memoria y el kernel va a matar el proceso.
Esta función puede garantizar repetidamente el procesamiento de la memoria incluso si no se puede liberar la memoria, evitar que el sistema se detenga y averiguar el proceso que consume demasiada memoria.
La situación típica es: una máquina repentinamente inicia sesión de forma remota en ssh, pero puede hacer ping, lo que indica que la red no está defectuosa o que la máquina está inactiva, es probable que el asesino de OOM haya eliminado el proceso sshd.
Después de reiniciar la máquina, ver el registro del sistema /var /log /messages mostrará un mensaje de error similar a Out of Memory: Kill process 247 (sshd).
Hay otra situación que puede llevar a que el ping no pueda ssh, es decir, demasiadas conexiones de red para agotar los recursos del descriptor de archivos del sistema, esta situación no se considera aquí.
En la solución de alta disponibilidad que usa vip, esta situación también es propensa a la división del cerebro.
Evitar que se eliminen los mecanismos importantes de activación de procesos del sistema (OOM): puede configurar el parámetro /proc /PID /oom_adj en -17 para desactivar temporalmente el mecanismo OOM del kernel de Linux. El núcleo calculará un puntaje para cada proceso mediante un algoritmo específico para determinar qué proceso matar. El puntaje de oom para cada proceso se puede encontrar en /proc /PID /oom_score.
Creemos que los procesos importantes tienen sshd, o algunos demonios de monitoreo, puede elegir el proceso que desea proteger de acuerdo con su situación real.
Proteger un proceso para que no sea eliminado por el kernel se puede hacer de esta manera:
echo -17》 /proc /$ PID /oom_adj
Puede escribir un script simple para implementar Evite que se omitan procesos importantes en crontab
pgrep -f " /usr /sbin /sshd "
Sistema Linux Si el sistema está en riesgo, puede usar el mecanismo de alarma de te
¿El sistema Win8 tiene un gestor de juegos? Puede que no lo hayas notado, realmente
¿Sabe que uno de los comandos del sistema Linux es un comando pppsetup? ¿Por qué el
Hay dos métodos de intercambio diferentes en el sistema Linux, a saber, NBMA y BMA. No mire los dos
Las subcarpetas de Linux y cómo mostrar el número de archivos
Cómo modificar los parámetros del disco en el sistema Linux
Linux prohíbe el arranque de MySQL desde el arranque 诀窍
Cómo utilizar el comando de prueba en Linux
La versión de CentOS en python es demasiado baja ¿Cómo actualizar manualmente?
Método mongodb de instalación y configuración de Linux
Linux jiffies uso variable global
¿Cómo configura Ubuntu un acceso directo para iniciar un programa?
Varios consejos para mejorar la seguridad de los sistemas Linux
Linux change 22 port brief summary
Resumen de ejemplos de operación de comando de ruta bajo Linux
¿Por qué el sistema win8 arranca más rápido que win7?
Consejos para hacer que el disco U instale el sistema Apple
Optimización del sistema Windows7, optimice el sistema WINDOWS
Win7 no puede ver la imagen GIF
Win8 determina si la computadora es de 32 bits o de 64 bits.
Teléfono móvil con sistema operativo operado por cuenta propia este año
¿Cómo convertir un archivo de video en un archivo de audio mp3 usando una fábrica de formatos?
Cómo configurar y modificar la alimentación del sistema en Windows 8