J'utilise une application qui consomme des montres inotify. J'ai déjà mis
fs.inotify.max_user_watches=32768
dans , /etc/sysctl.conf
mais la nuit dernière l'arrêt de l' application d' indexation à moins que je l' ai couru manuellement, ce qui me conduit à penser que je suis hors de montres.
Puisque je ne sais pas quel est le compromis lorsque j'augmente ce nombre (consomme-t-il plus de RAM?), Je ne sais pas si je devrais simplement augmenter ce nombre, alors j'aimerais savoir s'il y a une façon peut dire s’il utilise toutes ces montres et quels sont les compromis possibles pour l’augmenter.
Réponses:
Comment savez-vous si vous êtes à court de montres? queue dira!
tail
avec l'-f
option (suivez) sur n'importe quel ancien fichier, par exempletail -f /var/log/dmesg
:Pour les curieux: Pourquoi la queue est-elle un "telltail"?
strace tail -f ...
plutôt, et quand ça réussit, ça finit avec:Pouvez-vous augmenter les montres? De combien? Des compromis?
Réponse courte: bien sûr, pas de sueur. Passez directement à un demi-million (524288) si vous voulez ... la mémoire supplémentaire utilisée devrait être négligeable sur un système moderne avec 4 Go + de mémoire.
Donc, en supposant que vous définissiez le maximum à 524288 et que tous aient été utilisés (improbable), vous utiliseriez env. 256 Mo / 512 Mo de mémoire du noyau 32 bits / 64 bits
Quelle est la valeur maximale? Je suppose qu'aucun, en théorie, tant que vous avez assez de RAM. Dans la pratique, 524288 a été officiellement recommandé par les applications , et le nombre d'utilisateurs a été fixé à 2 millions , avec l'utilisation de la mémoire qui l'accompagne, bien sûr.
la source
sudo lsof | grep -i inotify | wc -l
Je ne sais pas si je devrais simplement augmenter ce nombre
Le moyen facile de vérifier si vous avez atteint votre
max_user_watches
valeur est, avec votre utilisateur, d'utiliserinotifywatch
le packageinotify-tools
et de vérifier si vous pouvez toujours collecter des informations à partir d'un fichier.Par exemple
inotifywatch -v /home/bruno/.profile
pour moi, retourne:Donc,
inotify
pas de problèmes pour créer une nouvelle montre, pas de problèmes ici.Si vous avez atteint votre limite maximale dans les montres inotify, vous obtiendrez quelque chose comme:
Si vous voyez quelque chose comme cela, alors vous avez atteint la limite et vous devrez augmenter la limite autorisée de surveillance.
Consomme-t-il plus de RAM?
Oui. Mais selon cet ancien article, la quantité consommée est minime comparée à d'autres aspects d'un poste de travail en cours d'exécution.
Bien sûr, je suppose que les choses n'ont pas beaucoup changé depuis la rédaction de l'article, mais si je regarde les chiffres, je ne m'inquiéterais pas, et augmenter la limite n'augmentera pas beaucoup la consommation de RAM.
Articles connexes sur
inotify
Erreur Dropbox - 'echo 100000 | sudo tee / proc / sys / fs / inotify / max_user_watches '
kernel-inotify-watch-limit-atteint
la source