Augmenter « Limite de fichiers ouverts »

Si vous obtenez l’erreur « Trop de fichiers ouverts (24) », votre application / commande / script atteint la limite maximale de fichiers ouverts autorisée par linux. Vous devez augmenter la limite de fichier ouvert comme ci-dessous:

Augmenter la limite

Limite par utilisateur

Ouvrir le fichier: /etc/security/limits.conf

Coller suivant vers la fin:

* hard nofile 500000* soft nofile 500000root hard nofile 500000root soft nofile 500000

500000 est un nombre équitable. Je ne sais pas quelle est la limite maximale, mais 999999 (Six – 9) a fonctionné pour moi une fois aussi loin que je me souvienne.

Une fois que vous avez enregistré le fichier, vous devrez peut-être vous déconnecter et vous reconnecter.

pam-limits

J’ai lu à de nombreux endroits qu’une étape supplémentaire est nécessaire pour que la limite change pour les processus démon. Je n’avais pas encore besoin de suivre, mais si les modifications ci-dessus ne fonctionnent pas pour vous, vous pouvez essayer.

Ouvrir /etc/pam.d/common-session

Ajouter la ligne suivante:

session required pam_limits.so

Limite à l’échelle du système

Définissez cette limite supérieure à la limite utilisateur définie ci-dessus.

Ouvrir /etc/sysctl.conf

Ajouter suivant:

fs.file-max = 2097152

Courir:

sysctl -p

Ci-dessus augmentera le nombre « total » de fichiers pouvant rester ouverts à l’échelle du système.

Vérifier les nouvelles limites

Utilisez la commande suivante pour voir la limite maximale des descripteurs de fichier:

cat /proc/sys/fs/file-max

Limite rigide

ulimit -Hn

Limite souple

ulimit -Sn

si vous êtes connecté en tant que root:

Vérifiez la limite pour un autre utilisateur

Remplacez simplement www-data par un nom d’utilisateur linux pour lequel vous souhaitez vérifier les limites:

su - www-data -c 'ulimit -aHS' -s '/bin/bash'

Vérifier les limites d’un processus en cours d’exécution :

Rechercher l’id de processus (PID):

ps aux | grep process-name

Supposons que XXX soit PID, puis exécutez les commandes suivantes pour vérifier les limites:

cat /proc/XXX/limits

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.

Previous post Nettoyeurs de Tapis de Haute Qualité
Next post Ce que la plupart des gens Se trompent Sur la position de la « colonne Vertébrale neutre »