Ich verwende eine Anwendung, die inotify Uhren verbraucht. Habe ich schon eingestellt
fs.inotify.max_user_watches=32768
In der /etc/sysctl.conf
letzten Nacht hat die Anwendung die Indizierung gestoppt, es sei denn, ich habe sie manuell ausgeführt, was mich zu dem Verdacht verleitet, dass mir die Uhren ausgehen.
Da ich nicht weiß, was der Kompromiss ist, wenn ich diese Zahl erhöhe (verbraucht sie mehr RAM?), Weiß ich nicht, ob ich diese Zahl nur erhöhen sollte, also würde ich gerne wissen, ob es einen Weg gibt, wie ich es kann kann sagen, ob es all diese Uhren verwendet und welche Kompromisse es für die Steigerung geben könnte.
Antworten:
Woher weißt du, ob du keine Uhren mehr hast? Schwanz wird es zeigen!
tail
mit der-f
Option (follow) für eine beliebige alte Datei, ztail -f /var/log/dmesg
.Für die Neugierigen: Warum ist Schwanz ein "Telltail"?
strace tail -f ...
stattdessen und wenn es erfolgreich ist, endet es mit:Können Sie die Uhren erhöhen? Um wie viel? Irgendwelche Kompromisse?
Kurze Antwort: Sicher, kein Schweiß. Gehen Sie direkt zu einer halben Million (524288), wenn Sie möchten ... der zusätzliche Speicher sollte auf einem modernen System mit 4 GB + Speicher vernachlässigbar sein.
Angenommen, Sie setzen das Maximum auf 524288 und alle wurden verwendet (unwahrscheinlich), würden Sie ca. 256 MB / 512 MB 32-Bit / 64-Bit-Kernelspeicher
Was ist der Maximalwert? Ich vermute keine, theoretisch, solange Sie genug RAM haben. In der Praxis wurde 524288 von Apps offiziell empfohlen , und die Leute haben es auf 2 Millionen festgelegt , natürlich mit der damit einhergehenden Speichernutzung.
quelle
sudo lsof | grep -i inotify | wc -l
Ich weiß nicht, ob ich diese Zahl erhöhen soll
Die einfache Möglichkeit, zu überprüfen, ob Sie Ihren
max_user_watches
Wert erreicht haben, besteht darin, mit Ihrem Benutzer anhandinotifywatch
des Pakets zuinotify-tools
prüfen, ob Sie noch Informationen aus einer Datei sammeln können.Zum Beispiel
inotifywatch -v /home/bruno/.profile
für mich zurück:Es gibt also
inotify
keine Probleme beim Erstellen einer neuen Uhr, keine Probleme hier.Wenn Sie Ihr maximales Limit für inotify-Uhren erreicht haben, wird so etwas zurückgegeben
Wenn Sie so etwas sehen, haben Sie das Limit erreicht und müssen das erlaubte Uhrenlimit erhöhen.
Verbraucht es mehr RAM?
Ja tut es. Laut diesem alten Artikel ist der Verbrauch jedoch im Vergleich zu anderen Aspekten eines laufenden Desktops minimal.
Ich gehe natürlich davon aus, dass sich seit dem Schreiben des Artikels nicht viel geändert hat, aber wenn ich mir die Zahlen ansehe, würde ich mir keine Sorgen machen, und eine Erhöhung des Grenzwerts wird den RAM-Verbrauch nicht wesentlich erhöhen.
Verwandte Beiträge über
inotify
Dropbox-Fehler - Echo 100000 | sudo tee / proc / sys / fs / inotify / max_user_watches '
Kernel-Inotify-Watch-Limit-erreicht
quelle