fork: retry: Resource temporarily unavailable

Cuando a un usuario se le limitan los recursos del sistema (Linux RedHat) que puede utilizar y llega a ese límite, ese usuario ya no podrá iniciar sesión en el sistema hasta que libere recursos, dando el error «fork: retry: Resource temporarily unavailable».

[[email protected] ~]# su - weblogic
-bash: fork: retry: Resource temporarily unavailable
-bash: fork: retry: Resource temporarily unavailable
-bash: fork: retry: Resource temporarily unavailable
-bash: fork: retry: Resource temporarily unavailable
-bash: fork: Resource temporarily unavailable

Es una buena practica poner límites a las aplicaciones para que no puedan tumbar el sistema operativo, afectando a otras aplicaciones y al sistema entero, dejándolo inutilizable.

¿Cómo lo soluciono?

El administrador de la aplicación debe analizar si es normal que su aplicación esté utilizando tantos recursos. Tal vez tenga algún fallo que esté provocando este comportamiento anómalo.

En caso de determinar que la aplicación necesita más recursos, para este caso concreto, modificaremos el parámetro «nproc» del fichero /etc/security/limits.conf del sistema, aumentando el número de ficheros abiertos que puede utilizar este usuario. En este caso, el usuario weblogic.

[[email protected] security]# grep weblogic limits.conf
weblogic         -      nproc          45000
[[email protected] security]# su - weblogic
[[email protected] ~]$ pwd
/home/weblogic
[[email protected] ~]$ 

Obviamente, si el fallo se producía con 32 mil ficheros abiertos, el límite de nproc lo incrementaremos por encima de ese valor.

Para saber con qué límite se producía el error basta con contar el número de recursos en uso por el usuario. En este caso, sería con el siguiente comando:

lsof |grep weblogic |wc -l

Compárteme

Contenido Relacionado

Deja un comentario