De vez en cuando "mi" servidor se detiene porque se queda sin memoria y espacio de intercambio. (sigue respondiendo al ping pero nada más que eso, ni siquiera ssh).
Me han dicho que Linux tiene un compromiso excesivo de memoria, que hasta donde yo entiendo es lo mismo que hacen los bancos con el dinero: otorga a los procesos más memoria de la que está realmente disponible, suponiendo que la mayoría de los procesos no usen toda la memoria que piden, en al menos no todos al mismo tiempo.
Suponga que esta es realmente la causa por la que mi sistema se bloquea ocasionalmente, no discutamos aquí si este es el caso (consulte ¿Qué puede causar que TODOS los servicios en un servidor se caigan, y aún así responda al ping? Y cómo averiguarlo ) .
Asi que,
¿Cómo deshabilito o reduzco drásticamente el exceso de memoria en CentOS? He leído que hay dos configuraciones llamadas vm.overcommit_memory (valores 0, 1 o 2) y vm.overcommit_ratiom pero no tengo idea de dónde tengo que encontrarlas y cambiarlas (algunos archivos de configuración con suerte), ¿qué valores debo probar? y si necesito reiniciar el servidor para que los cambios sean efectivos.
y es seguro ¿Qué efectos secundarios puedo esperar? Cuando busco en Google overcommit_memory, encuentro cosas aterradoras como que la gente dice que su servidor ya no puede arrancar ...
Dado que lo que causa el aumento repentino en el uso de la memoria es mysql debido a las consultas realizadas por php, que a su vez se llama mientras se atienden las solicitudes http, esperaría que solo algunos script php no se completen y, por lo tanto, algunas respuestas de 500 de vez en cuando el servidor está demasiado ocupado, lo cual es un riesgo que puedo tomar (ciertamente mejor que el servidor completo se vuelva inaccesible y tenga que reiniciarlo).
¿O realmente puede hacer que mi servidor no pueda reiniciarse si elijo la configuración incorrecta?