GNU/Linux >> Tutoriales Linux >  >> Linux

bifurcación:reintentar:Recurso temporalmente no disponible

Otra posibilidad es demasiados hilos. Acabamos de encontrar este mensaje de error cuando ejecutamos un arnés de prueba en una aplicación que usa un grupo de subprocesos. Usamos

watch -n 5 -d "ps -eL <java_pid> | wc -l"

para ver el recuento continuo de subprocesos nativos de Linux que se ejecutan dentro del ID de proceso de Java dado. Después de que esto llegó a alrededor de 1000 (para nosotros, YMMV), comenzamos a recibir el mensaje de error que mencionas.


Esto es comúnmente causado por quedarse sin descriptores de archivo.

Existe el límite de descriptor de archivo total del sistema, ¿qué obtiene del comando:

sysctl fs.file-nr

Esto devuelve recuentos de descriptores de archivos:

<in_use> <unused_but_allocated> <maximum>

Para averiguar cuál es el límite del descriptor de archivo de un usuario, ejecute los comandos:

sudo su - <username>
ulimit -Hn

Para averiguar cuántos descriptores de archivo está utilizando un usuario, ejecute el comando:

sudo lsof -u <username> 2>/dev/null | wc -l

Entonces, si tiene un problema con el límite del descriptor del archivo del sistema, deberá editar su archivo /etc/sysctl.conf y agregar, o modificarlo si ya existe, una línea con fs.file-max y establecerlo en un valor grande. suficiente para manejar la cantidad de descriptores de archivo que necesita y reiniciar.

fs.file-max = 204708

Linux
  1. ¿Cómo encontrar el proceso con el máximo de descriptores de archivo?

  2. Cómo corregir el error `No se pudo obtener lock / var / lib / dpkg / lock – open (11 recurso temporalmente no disponible)

  3. Evitar la herencia de descriptores de archivos durante la bifurcación de Linux

  4. Obtener el recuento de los descriptores de archivo usados ​​actualmente del código C

  5. Reintento de la bifurcación Linux ssh bash:no hay procesos secundarios

Cómo configurar ulimit y límite de descriptores de archivos en servidores Linux

¿Se comparten los descriptores de archivos cuando se bifurca ()?

Subprocesos y descriptores de archivos

¿Cómo crear un archivo en Linux desde la ventana de terminal?

Cómo mostrar descriptores de archivos abiertos pero sin usar el comando lsof

cp -L frente a cp -H