Não sei se você pode impedir o armazenamento em cache, mas você pode pedir regularmente ao Linux para remover o cache.
A maneira de fazer isso é explicada lá: link
Se você sync
antes do comando echo to /proc/sys/vm/drop_caches
, ele deve liberar muito memória ram.
O Linux não preencherá ativamente o seu RAM abrindo arquivos e armazenando-os em cache. Apenas os arquivos que estão realmente ativos serão armazenados em cache. Esses podem ser os arquivos usados pelo seu aplicativo, incluindo o código binário do programa.
Também pode ser os arquivos de log. Você poderia usar o log de rede para evitar isso.
Outra abordagem poderia ser executar seu aplicativo em uma máquina virtual, com muito menos memória RAM e um disco RAM como dispositivo de permuta (e depois controlar o nível de sappiness), mas é um pouco mais complicado.
Gostaria de saber como o seu provedor sabe quanto ram está alocado mas não é usado pelo seu sistema. Essas páginas de memória RAM, mesmo que não sejam usadas, não estarão vazias.