GNU/Linux >> Linux Esercitazione >  >> Linux

fork:retry:Risorsa temporaneamente non disponibile

Un'altra possibilità è troppi thread. Abbiamo appena riscontrato questo messaggio di errore durante l'esecuzione di un test harness su un'app che utilizza un pool di thread. Abbiamo usato

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

per monitorare il conteggio in corso dei thread nativi di Linux in esecuzione all'interno dell'ID di processo Java specificato. Dopo questo successo di circa 1.000 (per noi - YMMV), abbiamo iniziato a ricevere il messaggio di errore che hai menzionato.


Ciò è comunemente causato dall'esaurimento dei descrittori di file.

C'è il limite del descrittore di file totale di sistema, cosa ottieni dal comando:

sysctl fs.file-nr

Questo restituisce i conteggi dei descrittori di file:

<in_use> <unused_but_allocated> <maximum>

Per scoprire qual è il limite di un descrittore di file degli utenti, eseguire i comandi:

sudo su - <username>
ulimit -Hn

Per scoprire quanti descrittori di file sono utilizzati da un utente eseguire il comando:

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

Quindi ora se stai riscontrando un problema con il limite del descrittore di file di sistema dovrai modificare il tuo file /etc/sysctl.conf e aggiungere, o modificarlo se esiste già, una riga con fs.file-max e impostarlo su un valore grande sufficiente per gestire il numero di descrittori di file necessari e riavviare.

fs.file-max = 204708

Linux
  1. [Linux]:SSH Impossibile passare a un utente specifico con un errore "su:impossibile impostare l'ID utente:risorsa temporaneamente non disponibile"

  2. Significato dei simboli delle frecce nella duplicazione/chiusura dei descrittori di file in Bash?

  3. Come risolvere su USER non riesce con su:impossibile creare processo figlio:risorsa temporaneamente non disponibile Errore in CloudLinux?

  4. I descrittori di file sono condivisi durante fork()?

  5. Thread e descrittori di file

Come impostare ulimit e il limite dei descrittori di file sui server Linux

Previene l'ereditarietà dei descrittori di file durante il fork di Linux

Ottenere il conteggio dei descrittori di file attualmente utilizzati dal codice C

Linux ssh bash fork retry:nessun processo figlio

Il puntatore del file C cambia dopo fork e (fallito) exec

Come visualizzare i descrittori di file aperti ma non utilizzando il comando lsof