Wir haben ein großes Dateisystem, bei dem eine vollständige Zusammenfassung du
(Datenträgerverwendung) über zwei Minuten dauert. Ich möchte einen Weg finden, um eine Zusammenfassung der Festplattennutzung für beliebige Verzeichnisse in diesem Dateisystem zu beschleunigen.
Bei kleinen Zweigen ist mir aufgefallen, dass die du
Ergebnisse irgendwie zwischengespeichert zu sein scheinen, da wiederholte Anfragen viel schneller sind, aber bei großen Zweigen wird die Geschwindigkeit vernachlässigbar.
Gibt es eine einfache Methode zum Beschleunigen du
oder aggressiveren Zwischenspeichern von Ergebnissen für Zweige, die seit der vorherigen Suche nicht geändert wurden?
Oder gibt es einen alternativen Befehl, mit dem sich die Datenträgernutzung schneller zusammenfassen lässt?
du
schlecht wäre, aber ein schnelleres Wrapper-Skript mit einer identischen Oberfläche wäre für uns sehr nützlich. Außerdem würde ich erwarten, dass das Cachen von Ergebnissen in Abhängigkeit von der Zeit der letzten Änderung (und unter der Annahme, dass keine festplattenweiten Vorgänge, z. B. Defragmentierung, ausgeführt werden) zu genauen Größenergebnissen führt: Fehlt mir etwas?
find
. Aber dann ist da noch was locate
.
StatFs
eine superschnelle Schätzung der Verzeichnisgröße an. Es war fast 1000x schneller für große, komplexe Verzeichnisse im Vergleich zu du
.