Pendant que je me connecte à mon serveur, je reçois,
-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 j'essaie également de suivre les commandes, 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 cela vient-il? Et comment puis-je le résoudre?
Réponses:
Cela peut être dû à une limite de ressources, soit sur le serveur lui-même (ou) spécifique à votre compte d'utilisateur. Les limites de votre shell peuvent être vérifiées via
ulimit -a
. Esp rechercheulimit -u
les processus utilisateur max, si vous avez atteint le nombre maximal de processus, fork ne peut pas en créer de nouveau et échoue avec cette erreur. Cela peut également être dû à un problème de ressources de swap / mémoirela source
L'erreur 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 laulimit
commande qui contrôle les ressources disponibles pour le shell et les processus qu'il crée sur le système d'exploitation.Pour augmenter les limites, essayez d'exécuter:
pour augmenter les limites souples à un niveau difficile, ou:
pour définir la taille maximale d'un processus sur illimité et le nombre maximal de fichiers ouverts sur 10240.
Voir:
help ulimit
pour plus d'informations.Pour le rendre persistant, ajoutez les paramètres ci-dessus dans vos fichiers rc de démarrage (par exemple
~/.bashrc
).Vous pouvez également utiliser
/etc/sysctl.conf
(voir: mansysctl.conf
) pour augmenter les limites du noyau, par exemplela source
Le problème peut également être résolu à l'aide des commandes suivantes:
Ici, user1 est le groupe d'utilisateurs pour lequel la limite a été dépassée
la source
yum
commande ne serait probablement pas en mesure de bifurquer non plus.df
il aurait également des problèmes de fonctionnementsudo
.