fork: retry: Recurso temporalmente no disponible

Mientras me conecto a mi servidor, obtengo

-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 

E intento seguir los comandos también, entonces el resultado es el mismo.

-bash-4.1$ df -h -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 -bash-4.1$ -bash-4.1$ ls -lrth -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: Interrupted system call -bash-4.1$ -bash-4.1$ ps -aef | grep `pwd` -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 -bash-4.1$ 

¿Por qué viene esto? ¿Y cómo puedo resolverlo?

Comentarios

  • Parece que el intercambio está sobrecargado (el sistema de archivos / tmp posiblemente esté lleno)
  • ulimit -a, tal vez alcances algún límite de proceso

Respuesta

Esto podría deberse a algún límite de recursos, ya sea en el servidor mismo (o) específico de su cuenta de usuario. Los límites en su shell se pueden verificar a través de ulimit -a. Esp, verifique ulimit -u max procesos de usuario, si ha alcanzado el máximo de procesos, la bifurcación no puede crear ningún proceso nuevo y falla con ese error. Esto también podría deberse a un problema de intercambio / recurso de memoria

Respuesta

fork: recurso temporalmente no disponible

El error significa que el recurso de shell actual es limitado (verifique los límites en ulimit -a). Por lo tanto, puede intentarlo en otro shell o aumentar los recursos utilizando el comando ulimit que controla los recursos disponibles para el shell y los procesos que crea en el sistema operativo.

Para aumentar los límites, intente ejecutar:

ulimit -Sn unlimited && ulimit -Sl unlimited 

para elevar los límites suaves a estrictos, o:

ulimit -l unlimited ulimit -n 10240 

para establecer el tamaño máximo de un proceso en ilimitado y el número máximo de archivos abiertos en 10240.

Consulte: help ulimit para más información.

Para que sea persistente, agregue la configuración anterior en sus archivos rc de inicio (por ejemplo, ~/.bashrc).


También puede usar /etc/sysctl.conf (ver: man sysctl.conf) para aumentar los límites del kernel, por ejemplo,

kern.maxprocperuid=1000 kern.maxproc=2000 

Comentarios

  • Cuando se produce este error, el " volver a intentar " implica que se intentará repetidamente hasta que res ¿Nuestros archivos están disponibles?
  • @DavidB O que lo hizo reintento, pero falló.
  • kern.maxprocperuid, kern.maxproc, kernel.maxprocperuid y kernel. maxproc no existe en Ubuntu. ¿Cuál es la alternativa?

Responder

El problema también se puede resolver usando los siguientes comandos:

yum install psmisc killall -STOP -u user1 killall -KILL -u user1 

Aquí user1 es el grupo de usuarios para el que se ha excedido el límite

Comentarios

  • Matar todos los procesos pertenecientes al usuario parece un poco torpe. Además, ese comando yum probablemente tampoco podría bifurcarse.
  • El comando yum se ejecutará a través del usuario root, asumiendo que el problema ha ocurrido en un usuario que root
  • Si el shell no puede bifurcar df, también tendría problemas para ejecutar sudo.
  • Estilo BOFH. ¡Me gusta!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *