"Preservar em reinicializações", duvido. Mas você pode reconstruir trivialmente o cache na inicializaçã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 disponível através do gerenciador de pacotes; o Debian os coloca em coreutils
e util-linux
, respectivamente) para diminuir a prioridade da find
processa para os níveis mais agradáveis possíveis, o que significa que não deve interferir em nada que esteja sendo executado em seu sistema, mas levará um pouco mais de tempo para ser concluído. find
irá passar por stat()
everything, o que força o kernel a carregar os dados do sistema de arquivos do disco para a memória.
Uma vez que o cache tenha sido construído, contanto que ele não seja removido porque o sistema operacional precisa da memória para outra coisa, ele deve ser mantido. Eu tenho usado isso por um tempo e listas de diretórios, mesmo em grandes diretórios são significativamente mais rápido do que sem o trabalho cron acima, embora eu não possa citar quaisquer números exatos.