
El proceso nginx sigue apagándose, aquí están los errores
2023/04/18 11:47:29 [alert] 11073#0: worker process 11312 exited on signal 9
2023/04/18 11:47:29 [alert] 11073#0: fork() failed while spawning "worker process" (12: Cannot allocate memory)
2023/04/18 11:47:29 [alert] 11073#0: could not respawn worker process
Sé que tiene suficiente RAM, es un VPS que controlo y le subí la RAM a 4 GB y sigue igual. Es un servidor nginx muy liviano, sin PHP, servicio de imágenes simple. Al ejecutar nginx 1.0.15, sé que es antiguo, pero funcionó durante muchos años sin problemas. Nada ha cambiado en este VPS en años.
Respuesta1
fork() failed while spawning "worker process" (12: Cannot allocate memory)
Es la pista.
Si observas man 2 fork
podrás descubrir qué condiciones conducen a esa posición.
ENOMEM fork()
No se pudieron asignar las estructuras del kernel necesarias porque la memoria es escasa.
ENOMEM
Se intentó crear un proceso hijo en un espacio de nombres PID cuyo proceso "init" terminó. Consulte pid_namespaces(7).
Debería ser una de estas dos condiciones. ¿Se reinicia todo el VPS aproximadamente al mismo tiempo? Si es así ahí está tu respuesta.
Potencialmente, puede probar esto si no puede saberlo haciendo ps -o lstart 1
en el contenedor y verificando cuándo init
se inició el proceso.
De lo contrario, si todavía recibe este mensaje cuando dice "la memoria es escasa", podría deberse a que la memoria general del sistema es escasa. Eso no es algo de lo que usted pueda tener conocimiento en su contenedor, por lo que deberá solicitar más información al proveedor de alojamiento.
Respuesta2
Según el mensaje de error que proporcionó, parece que el proceso de trabajo está saliendo debido a un signal 9
, que indica una SIGKILL
señal. Además, el mensaje de error sugiere que fork() system call is failing
el proceso no puede crear un nuevo proceso hijo.
El mensaje de error "No se puede asignar memoria" sugiere que es posible que el sistema se esté quedando sin memoria, lo que podría estar provocando que falle la llamada al sistema fork(). Una posible solución a este problema es aumentar la cantidad de memoria disponible para el sistema.
Puede intentar verificar la memoria disponible en su servidor usando el comando "free -tm", que mostrará información sobre la memoria disponible y el espacio de intercambio. Si el sistema se está quedando sin memoria, es posible que necesite agregar más memoria a su servidor o ajustar su configuración de nginx para usar menos memoria.
Otra posible solución es reducir la cantidad de procesos de trabajo en su configuración de nginx. Puede hacer esto ajustando la configuración "worker_processes" en su archivo nginx.conf. Al reducir la cantidad de procesos de trabajo, puede disminuir el uso de memoria de su servidor nginx.
Respuesta3
Agregarintercambio. Además, asegúrese de que no haya ningún problema de credenciales/privilegios.
Asimismo, haciendo referencia aestePregunta donde alguna aplicación estaba limitada con la RAM que podía usar. ¿Qué hacen estos trabajadores? Esta podría ser tu respuesta.
Además, ¿has intentadoactualizar¿todo?