fork: retry: Ressource temporairement indisponible

Pendant que je me connecte à mon serveur, jobtiens,

-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 

Et jessaye de suivre les commandes aussi, alors le résultat est le même.

-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$ 

Pourquoi ceci arrive? Et comment puis-je le résoudre?

Commentaires

  • On dirait que le swap est surchargé (le système de fichiers / tmp est peut-être plein)
  • ulimit -a, peut-être que vous avez atteint une limite de processus

Réponse

Cela pourrait être dû à une limite de ressources, soit sur le serveur lui-même (ou) spécifique à votre compte utilisateur. Les limites de votre shell peuvent être vérifiées via ulimit -a. Esp vérifier ulimit -u processus utilisateur max, si vous avez atteint le nombre maximal de processus, fork est incapable de créer de nouveaux processus et échoue avec cette erreur. Cela peut également être dû à un problème déchange / de ressources mémoire.

Réponse

fork: Ressource temporairement indisponible

Lerreur signifie que la ressource shell actuelle est limitée (vérifiez les limites par ulimit -a). Vous pouvez donc soit essayer dans un autre shell, soit augmenter les ressources en utilisant la commande ulimit qui contrôle les ressources disponibles pour le shell et les processus quil crée sur le système dexploitation.

Pour augmenter les limites, essayez dexécuter:

ulimit -Sn unlimited && ulimit -Sl unlimited 

pour élever les limites souples à hard one, ou:

ulimit -l unlimited ulimit -n 10240 

pour définir la taille maximale dun processus sur illimité et le nombre maximal de fichiers ouverts sur 10240.

Voir: help ulimit pour plus dinformations.

Pour le rendre persistant, ajoutez les paramètres ci-dessus dans vos fichiers de démarrage rc (par exemple ~/.bashrc).


Vous pouvez également utiliser /etc/sysctl.conf (voir: man sysctl.conf) pour augmenter les limites du noyau, par exemple

kern.maxprocperuid=1000 kern.maxproc=2000 

Commentaires

  • Lorsque cette erreur se produit, le " réessayer " implique quil tentera à plusieurs reprises jusquà ce que res ources deviennent disponibles?
  • @DavidB Ou quil a réessayé , mais échoué.
  • kern.maxprocperuid, kern.maxproc, kernel.maxprocperuid et kernel maxproc nexiste pas sur Ubuntu. Quelle est lalternative?

Réponse

Le problème peut également être résolu à laide des commandes suivantes:

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

Ici, user1 est le groupe dutilisateurs pour lequel la limite a été dépassée

Commentaires

  • Tuer chaque processus appartenant à lutilisateur semble un peu difficile. De plus, cette commande yum ne serait probablement pas en mesure de fork non plus.
  • La commande yum sera exécutée via lutilisateur root, en supposant que le problème est survenu sur un autre utilisateur que root
  • Si le shell ne parvient pas à bifurquer df, il aura également des problèmes pour exécuter sudo.
  • Style BOFH. Jaime ça!

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *