"Preservar através de reinicializações", duvido. Mas você pode reconstruir trivialmente o cache na inicialização, o que realiza quase a mesma coisa menos um pequeno atraso.
Crie um arquivo /etc/cron.d/rebuild-fs-cache
e coloque o seguinte:
@reboot root /usr/bin/nice -n 19 /usr/bin/ionice -c 3 -t /usr/bin/find / >/dev/null 2>&1
Isso usa nice
e ionice
(que deve ser instalado por padrão e definitivamente estar disponível através do gerenciador de pacotes; o Debian os coloca coreutils
e util-linux
, respectivamente) para diminuir a prioridade do find
processo aos níveis mais agradáveis possíveis, o que significa que não deve interferir em mais nada em execução no sistema, mas levará um pouco mais de tempo para concluir. find
ele mesmo passará e stat()
tudo, o que força o kernel a carregar os dados do sistema de arquivos do disco na memória.
Depois que o cache for construído, desde que não seja eliminado porque o sistema operacional precisa da memória para outra coisa, ele deve ser mantido. Eu tenho usado isso por um tempo e as listagens de diretório, mesmo em diretórios grandes, são significativamente mais rápidas do que sem o trabalho cron acima, embora eu não possa citar nenhum número exato.