Ich arbeite an einem Daemon, der Dateiereignisse über inotify überwacht, um verschiedene Typen von Ereignissen auszulösen, wenn auf Dateien zugegriffen wird. Ich habe gelesen, dass Uhren ein wenig teuer sind, weil der Kernel den vollständigen Pfadnamen jeder betrachteten Datei speichert.Was ist eine angemessene Menge von inotify Uhren mit Linux?
Wie viele Uhren wären zu viele?
Bearbeiten: Meistens, ich frage mich .. haben Sie jemals einen spürbaren Leistungseinbruch gesehen, wenn ja, bei wie vielen Uhren ist es passiert? Ja, ich muss/rekursiv überwachen (es ist jedoch ein minimales Bootstrapped-System).
Warum sollte ich nicht inotify verwenden, um das gesamte Dateisystem zu überwachen? Kannst du konkret sein? – Blub
@Blub Nun, warum möchten Sie es tun? Es sei denn, Sie debuggen eine Dateisystemimplementierung, ich kann nicht an einen guten Anwendungsfall denken, und wenn es das ist, was Sie tun, ist es wahrscheinlich besser, in den Dateisystemcode selbst einzuhaken. Ganz zu schweigen davon, dass inotify wahrscheinlich nicht genug Uhren haben wird, um wirklich alles auf einem Dateisystem mit einem modernen Betriebssystem zu beobachten. Aber ich denke, wenn es funktioniert (d. H., Wenn Sie mit einem reduzierten Satz von Dateien arbeiten), ist es wahrscheinlich nicht das Schlimmste. Solange Ihr Computer damit umgehen kann, wird nichts AFAIK beschädigen. –
Ich möchte ein Volume indizieren und daher, wenn sich eine Datei irgendwo ändert, muss ich meinen Index aktualisieren. Ich habe mir den ext4-Quellcode angeschaut, er ist nicht genau für Benutzer-Add-Ins gedacht. Es gibt nur ein dumpe2fs-Dienstprogramm, das "Blöcke" drucken kann, aber noch keine Idee, wie man die tatsächlichen Dateipfade dorthin holt. Und trotzdem .. Ich müsste dieses Dienstprogramm ständig ausführen, mindestens einmal pro Sekunde, um den Index neu zu updaten. Nicht gerade toll, ich würde lieber etwas zurück bekommen - wie inotify. – Blub