Pergunta: Seria uma boa ideia desabilitar o cache de página dentro de VMs convidadas e, em vez disso, confiar no ZFS ARC (e L2ARC baseado em SSD) do host?
Contexto: Estou perguntando porque estou executando um cluster Proxmox que está sempre mostrando cerca de 90% de uso de RAM para todas as VMs, independentemente de quanto ele realmente precisa. Isso é esperado devido ao uso do cache de página pelo kernel convidado. Como tenho ouvido muitas coisas boas sobre o ARC do ZFS, isso me fez pensar que talvez eu pudesse aumentar a dependência deles e reduzir a dependência do cache de página dos convidados. Em essência, o ARC seria uma espécie de cache de página compartilhada para todas as VMs.
Ao fazer isso, eu obteria o benefício adicional de estatísticas e gráficos proxmox mais precisos, fornecendo assim uma imagem melhor de quanta memória cada VM realmente precisa. Isso, por sua vez, me daria as informações necessárias para ajustar melhor os tamanhos da RAM de cada VM e permitir que eu aumentasse o tamanho do ARC do host na mesma quantidade.
Eu realmente não tentei nada disso, eu pensei em executá-lo por vocês primeiro. Então, eu sou estúpido por pensar assim?
Pergunta de acompanhamento : COMO eu faria para desabilitar (ou limitar) o cache de página em uma VM Linux? UM método seria usar um cronjob e escrever regularmente "3" em /proc/sys/vm/drop_caches, como uma vez a cada minuto ou algo assim. Mas parece meio hacky, não há uma maneira melhor?
PS Sim, percebo que estou falando apenas de cache de leitura, não de cache de gravação, que é afetado pela quantidade de páginas sujas . Portanto, eu provavelmente ainda precisaria de alguma quantidade de espaço livre de RAM para permitir isso (mas isso deve ser visível nas estatísticas de uso de RAM da VM no Proxmox, portanto, tudo acima ainda deve ser aplicado).