Você pode usar o utilitário vmtouch para bloquear um arquivo ou até mesmo um diretório de arquivos na memória.
vmtouch -dl /var/www/html/important_files
Uso:
vmtouch v0.8.0 - the Virtual Memory Toucher by Doug Hoyte
Portable file system cache diagnostics and control
Usage: vmtouch [OPTIONS] ... FILES OR DIRECTORIES ...
Options:
-t touch pages into memory
-e evict pages from memory
-l lock pages in physical memory with mlock(2)
-L lock pages in physical memory with mlockall(2)
-d daemon mode
-m <size> max file size to touch
-f follow symbolic links
-v verbose
-q quiet
Então eu posso pegar um diretório como esse e ver quanto está na memória:
[root@xt /var/www/html/xt/centos]# vmtouch .
Files: 146
Directories: 14
Resident Pages: 0/5996 0/23M 0%
Elapsed: 0.059768 seconds
Para que eu possa "tocar" no diretório e trazê-los para o cache:
[root@xt /var/www/html/xt/centos]# vmtouch -t .
Files: 146
Directories: 14
Touched Pages: 5996 (23M)
Elapsed: 0.64321 seconds
Uma verificação subseqüente mostra:
[root@xt /var/www/html/xt/centos]# vmtouch .
Files: 146
Directories: 14
Resident Pages: 5996/5996 23M/23M 100%
Elapsed: 0.001846 seconds