Para controlar como o Linux armazena as coisas, consulte este link
Em particular, olhe para vfs_cache_pressure, você provavelmente quer um valor realmente baixo ou talvez até zero (1 soa um pouco mais seguro para mim):
vfs_cache_pressure
------------------
Controls the tendency of the kernel to reclaim the memory which is used for
caching of directory and inode objects.
At the default value of vfs_cache_pressure=100 the kernel will attempt to
reclaim dentries and inodes at a "fair" rate with respect to pagecache and
swapcache reclaim. Decreasing vfs_cache_pressure causes the kernel to prefer
to retain dentry and inode caches. When vfs_cache_pressure=0, the kernel will
never reclaim dentries and inodes due to memory pressure and this can easily
lead to out-of-memory conditions. Increasing vfs_cache_pressure beyond 100
causes the kernel to prefer to reclaim dentries and inodes.
Além disso, você pode querer modificar swappiness
para nunca trocar dados ou fazer com que isso aconteça apenas em casos extremos.
A opção drop_caches
pode ser útil para descartar explicitamente os dados que você não deseja mais armazenados em cache.
Tenho certeza de que provavelmente existem outras opções que podem ajudar, por isso revise a documentação do kernel.
Para aplicá-las, eu colocaria as configurações que você deseja alterar em /etc/sysctl.conf
ou qualquer que seja seu sistema operacional para restaurá-las na inicialização.