Você pode modificar o valor de /proc/sys/vm/vfs_cache_pressure
para um valor maior que 100 (valor padrão). Com maior valor além de 100,
faz com que o kernel prefira recuperar dentries e inodes .
Eu tenho um servidor com 16GB de RAM executando várias máquinas virtuais linux (cerca de 10), que executam várias tarefas diferentes. Essas máquinas, com a configuração padrão, vão encher a memória que eu dou ao máximo com o cache.
Mesmo que este seja um comportamento desejável para hosts físicos, na minha configuração, esse cache está realmente consumindo RAM do host real que não pode ser transferida do host, e me força a definir quantidades relativamente baixas de RAM para o vms (não mais que (16 - host cache)/number of vms
). Isso é bastante indesejável, já que o sistema perde flexibilidade, tornando impossível lidar com solicitações esporádicas de RAM da vms de concreto.
A única abordagem que me vem à mente é limitar a quantidade de RAM que o kernel pode usar para armazenar em cache (ou fazer o cache expirar mais cedo), mas não encontrei nenhuma documentação sobre como fazê-lo. A maioria dos posts no fórum se refere ao linuxatemyram.com ou similar, e eu não pareço nenhum parâmetro relevante exposto em / proc / sys / vm /.
Talvez alguns possam oferecer algumas ideias sobre isso? Eu ficaria muito grato.
Você pode modificar o valor de /proc/sys/vm/vfs_cache_pressure
para um valor maior que 100 (valor padrão). Com maior valor além de 100,
faz com que o kernel prefira recuperar dentries e inodes .