fork: resource temporarily unavailable

Cuando superamos el límite de procesos permitidos para el usuario tanto en sistemas Unix como en GNU/Linux al ejecutar un comando nos podemos encontrar con la siguiente respuesta "fork: resource temporarily unavailable". El problema aparece cuando llegamos al límite de procesos de usuario permitido en el sistema.

Cuando llegamos a dicho límite ya no podemos ejecutar más procesos, ninguno ni un simple ls, y si intentamos acceder a la máquina usando SSH con este mismo usuario no nos dejará entrar y simplemente nos mostrará el mensaje de error anteriormente descrito.

Fork es una llamada de sistema que crea una copia exacta del proceso que se está ejecutando. El nuevo proceso se llama "hijo" y el proceso que lo ha invocado "padre".

Cuando aparece de golpe este mensaje probablemente alguna aplicación que estemos ejecutando no tiene un comportamiento adecuado al haber copado el límite. Para intentar detectar dicha aplicación, "top" nos puede ayudar.

Su aún así vemos que se trata de un comportamiento normal podemos ajustar el máximo de procesos con las herramientas "ulimit" y ajustar el fichero /etc/security/limits.conf

Debemos ser cuidadosos con los límites que establecemos ya que podemos saturar la máquina, tanto haciendo pruebas de software como con los conocidos Fork bombs o al contrario ser demasiado restrictivos.

Así que si os apetece, os recomiendo una lectura interesante sobre este tema.

URL para hacer trackback a este post:

http://bytecoders.homelinux.com/trackback/753
 

Comentarios

¿Has sido malo con tus servidores?

Jeje, me parece a mí que alguien se ha pasado con sus pobres servidores y éstos tienen ahora pupa y se quejan... ¿Es así? ;-)

Han tenido un mal dia

Han tenido un día movidito, jeje! Si es que no es bueno forzar la máquina, además los pobres tienen una edad ya. Laughing