Utilitaires
Scripts
Divers
Jeux
Rechercher
Quillevere.net
Réflexions informatiques

Nombre de fichiers ouverts/ouvrables sur Linux

07/05/2022
Sur Linux comme sur Windows, il y a des seuils fixant le nombre de fichiers ouvrables simultanément par processus et pour tout le système. Voici quelques commandes pour les afficher.

Si trop de fichiers sont ouverts sur un système, des erreurs peuvent survenir, ne permettant pas de faire aboutir l'ouverture d'une base de données, l'appel à une URL... Il faut donc s'assurer que ce nombre reste en dessous du seuil maximum.

Nombre maximum de fichiers ouvrables sur le système

L'utilitaire sysctl affiche les paramètres du système d'exploitation. La variable file-max indique le nombre maximum de fichiers ouvrables par tous les process.

sysctl fs.file-max

Nombre maximum de fichiers ouvrables par process

L'utilitaire ulimit affiche les limites définies par process. Le champ "open files" contient le nombre maximum de fichiers ouvrables par process.

ulimit -n

Nombre de fichiers ouverts par un utilisateur

L'utilitaire lsof affiche des détails sur les fichiers ouverts. En comptant le nombre de lignes de la réponse, on obtient le nombre de fichiers ouverts.

lsof -u <identifiant_utilisateur> | wc -l

Afficher en continu le nombre de fichiers ouverts pour un process

Cette ligne de commande affiche en continu, avec une pause de 10 secondes, le nombre de fichiers ouverts par chaque process Java. S'il y a plusieurs process Java, cela crée autant de colonnes correspondantes :

while true ; do echo -n "$(date '+%F %H:%M:%S')" ; for j in `pidof java`; do nb=$(lsof -w -p ${j} | wc -l); echo -e -n "\tPID ${j}=${nb}" ; done; echo ; sleep 10 ; done

Si l'utilitaire lsof n'est pas disponible, il peut être remplacé par la commande suivante qui renvoie sensiblement les mêmes valeurs :

ls /proc/<process_id>/fd/
Dernière modification le 07/05/2022 - Quillevere.net

Rechercher sur le site

fr en rss RSS info Informations