"Зберегти через перезавантаження", я сумніваюся. Але ви можете банально відновити кеш при завантаженні, що виконує майже те саме, мінус невелику затримку.
Створіть файл /etc/cron.d/rebuild-fs-cache
і помістіть у нього таке:
@reboot root /usr/bin/nice -n 19 /usr/bin/ionice -c 3 -t /usr/bin/find / >/dev/null 2>&1
Це використовує nice
і ionice
(які повинні бути встановлені за замовчуванням, і, безумовно, доступні через менеджер пакунків; Debian розміщує їх coreutils
і util-linux
, відповідно), щоб знизити пріоритет find
процесу до найприємніших можливих рівнів, а це означає, що він не повинен заважати нічому іншому працює у вашій системі, але процес буде тривати трохи більше часу. find
сам пройде і stat()
все, що змусить ядро завантажувати дані файлової системи з диска в пам'ять.
Після того, як кеш буде побудований, доки він не очиститься, оскільки ОС потрібна пам'ять для чогось іншого, його слід підтримувати. Я використовую це деякий час, а списки каталогів навіть у великих каталогах значно швидше, ніж без вищевказаного завдання cron, хоча я не можу навести точні цифри.