высокое использование памяти командой `find`

высокое использование памяти командой `find`

При запуске findкоманды в очень большом каталоге я обнаруживаю, что findиспользование памяти происходит гораздо чаще, чем я предполагал. Мне стало очень трудно искать решения из-за перегруженного использования слова "find" ;) Вот команда:

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

Сохраняет ли find весь список файлов для каталога в памяти при его обработке? Похоже, он может просто проверить одну запись и двигаться дальше. В каталоге, с которым я работаю, находится ~2 миллиона файлов, и теперь я начинаю сталкиваться с проблемами ограничения памяти.

Есть ли способы использования find, которые уменьшат использование памяти? Есть ли альтернативы, которые ведут себя лучше? Мне просто нужно удалить файлы в этом каталоге, которые соответствуют паре критериев, а затем распечатать их. (Мое последнее решение — я просто напишу свою собственную программу, которая будет выполнять то, что мне нужно, передавая результаты ls...)

Связанный контент