En cours d'exécution tail -f filename
, j'ai reçu le message suivant:
tail: inotify cannot be used, reverting to polling: Too many open files
Est-ce un problème potentiel?
Comment diagnostiquer ce qui est responsable de tous les fichiers ouverts? J'ai une liste de processus suspects, mais s'ils ne sont pas les coupables, les instructions qui ne se basent pas sur le processus à vérifier seraient utiles.
filesystem
Andrew Grimm
la source
la source
ulimit
?Réponses:
Vous pouvez utiliser lsof pour comprendre qui ouvre autant de fichiers. Habituellement, c’est un serveur (Web) qui ouvre autant de fichiers, mais lsof vous aidera sûrement à en identifier la cause.
Une fois que vous comprenez qui est le méchant, vous pouvez
Si la sortie de lsof est assez énorme, essayez de la rediriger vers un fichier puis ouvrez le fichier.
Exemple (vous devrez peut-être Ctrl+ Cla première commande)
la source
lsof | awk '{ print $2; }' | uniq -c | sort -rn | head
uniq
que ne fonctionne qu'avec des lignes adjacentes), lancer uniq, puis trier à nouveau. Donclsof | awk '{ print $2; }' | sort -rn | uniq -c | sort -rn | head
.:)
Si quelqu'un d'autre en a besoin ...
Affiche toutes les limites actuelles. Spécifiquement
ulimit -n 70000
définira la limite de descripteur de fichier.Aussi...
Affiche / définit la limite du noyau si elle est modifiée.
Une explication beaucoup plus détaillée peut être trouvée à ...
Comment augmenter la limite de fichiers ouverts pour un utilisateur non root?
la source