hoher Speicherverbrauch des Befehls „find“

hoher Speicherverbrauch des Befehls „find“

Wenn ich einen findBefehl in einem sehr großen Verzeichnis ausführe, stelle ich fest, dass findder Speicherverbrauch viel stärker ansteigt, als ich dachte. Ich fand es sehr schwierig, nach Lösungen zu suchen, da das Wort „finden“ so oft verwendet wird ;) Dies ist der Befehl:

find /var/dir -size +500k -iname "pattern_*" -mtime +90 -type f -exec rm {} \; -print

Behält find die gesamte Dateiliste für ein Verzeichnis im Speicher, während es sie verarbeitet? Es sieht so aus, als könnte es einfach einen Eintrag prüfen und weitermachen. Das Verzeichnis, mit dem ich arbeite, enthält ungefähr 2 Millionen Dateien, und ich bekomme jetzt langsam Probleme mit dem Speicherlimit.

Gibt es Möglichkeiten, findden Speicherverbrauch zu reduzieren? Gibt es Alternativen, die besser funktionieren? Ich muss nur Dateien in diesem Verzeichnis löschen, die ein paar Kriterien erfüllen, und sie dann ausdrucken. (Meine letzte Lösung ist, dass ich einfach mein eigenes Programm schreibe, um das auszuführen, was ich brauche, indem ich die Ergebnisse von ls... streame.)

verwandte Informationen