GNU/Linux >> Tutoriels Linux >  >> Cent OS

Démarrage d'udev :udevd inotify_init a échoué :trop de fichiers ouverts

Le problème

Après le redémarrage d'un serveur après l'application d'un correctif - L'erreur ci-dessous peut éventuellement être observée lors du démarrage et la même erreur est visible dans /var/log/boot.log :

Starting udev: udevd inotify_init failed: too many open files

En raison de l'échec du démarrage d'udev, les interfaces réseau et de liaison sont manquantes (y compris les modules/pilotes).

La solution

Il y a eu un changement dans /etc/sysctl.conf , /etc/sysctl.d/99-install-oracle qui comprenait la strophe ci-dessous pour résoudre un problème avec Veritas Cluster :

fs.inotify.max_queued_events = 0
fs.inotify.max_user_instances = 0
fs.inotify.max_user_watches = 0
fs.dir-notify-enable = 0

fs.inotify est utilisé par divers programmes/applications et udev également pour suivre les changements dans les fichiers - dans ce cas, les observateurs sont définis sur 0, donc udev ne peut pas utiliser les observateurs pour suivre tous les changements sur le système d'exploitation et générer des erreurs autour de trop de fichiers ouverts. Au redémarrage du système, le système d'exploitation a commencé à utiliser de nouveaux paramètres pour fs.inotify et a causé tout un problème avec udev.

Pour résoudre le problème, suivez les étapes décrites ci-dessous :

1. Annulez les modifications de /etc/sysctl.conf et de tout fichier qui pourrait encore contenir une nouvelle valeur dans le dossier /etc/sysctl.d/, la commande ci-dessous peut être utilisée pour trouver facilement tous les fichiers où la modification a été appliquée dans /etc.

# grep -rnw /etc -e "fs.inotify" 2>/dev/null

2. Pour annuler les modifications, ouvrez vi edit pour /etc/sysctl.conf et commentez la nouvelle strophe :

#fs.inotify.max_queued_events = 0
#fs.inotify.max_user_instances = 0
#fs.inotify.max_user_watches = 0
#fs.dir-notify-enable = 0

3. Enregistrez le fichier et redémarrez - après le redémarrage, vérifiez si les interfaces sont actives et si udev démarre sans aucun problème. Par défaut sur CentOS/RHEL 6, les strophes fs.inotify sont définies sur :

fs.inotify.max_queued_events = 16384
fs.inotify.max_user_instances = 128
fs.inotify.max_user_watches = 8192
fs.dir-notify-enable = 1

4. Vous pouvez vérifier le paramètre actuel de fs.inotify en exécutant la commande sysctl :

# sysctl -a | grep fs.inotify


Cent OS
  1. Comment augmenter la limite du nombre de fichiers ouverts sous Linux

  2. Le démarrage d'Apache HTTPD a échoué en raison de l'impossibilité d'ouvrir ou de l'absence de ces fichiers mod_bwlimited, mod_log_bytes ou mod_bandwidth

  3. Trop d'erreurs de connexions dans MySQL

  4. BTRFS :trop de périphériques manquants, le montage inscriptible n'est pas autorisé

  5. Pourquoi git échoue-t-il sur push/fetch avec trop de fichiers ouverts

Comment ouvrir des fichiers ISO sur Ubuntu Linux

Comment résoudre l'erreur «Erreur:échec de l'ouverture de rpmdb» dans CentOS

Résolution de l'erreur Mysql :Trop de fichiers ouverts

Dépannage :Trop de redirections

Trop de niveaux de liens symboliques

Trop de fichiers ouverts sur Debian