У нас есть большая файловая система, в которой полная du(использование диска) сводка занимает более двух минут. Я хотел бы найти способ ускорить итоги использования диска для произвольных каталогов в этой файловой системе.
Для небольших веток я заметил, что duрезультаты как-то кешируются, поскольку повторные запросы выполняются намного быстрее, но в больших ветвях ускорение становится незначительным.
Есть ли простой способ ускорить duили более агрессивно кэшировать результаты для веток, которые не были изменены со времени предыдущего поиска?
Или есть альтернативная команда, которая может доставить резюме использования диска быстрее?
duбыла бы плохой, но более быстрый скрипт-обертка с идентичным интерфейсом был бы очень полезен для нас. Кроме того, я ожидаю, что результаты кэширования, зависящие от времени последнего изменения (и при условии отсутствия операций на диске, например, дефрагментации), дадут точные результаты размера: я что-то упустил?
find. Но тогда есть locate.
StatFsочень быструю оценку размеров каталогов. Это было почти в 1000 раз быстрее для больших и сложных каталогов, по сравнению с du.