Virtualização (KVM) e RAM em cache excessiva

Virtualização (KVM) e RAM em cache excessiva

Configurei uma máquina virtual por meio do KVM-libvirt (virt-manager) com Windows 10 e estou tendo um comportamento estranho no lado do host. Estou executando um host Arch de 64 bits com 24 GB de RAM, 12 dos quais estão alocados para ele e os outros 12 para a VM.

Depois de iniciar a VM e deixá-la parada por um tempo, não muito tempo, talvez uma hora, toda a RAM restante do meu host é armazenada em buffer/armazenada em cache. Por exemplo, agora eu recebo isso de free -m:

              total        used        free      shared  buff/cache   available
Mem:          24064       13887         253         110        9923        9957
Swap:          4095        1313        2782

Antes de iniciar a VM, eu tinha alguns aplicativos em execução, mas eles não chegavam a mais de 2 GB ou mais de RAM, e nada de novo foi aberto desde então, apenas alguma navegação normal na web (na verdade, escrevendo esta pergunta).

Agora, eu li muito sobre o cache de RAM do Linux porque a RAM livre é RAM desperdiçada e outros enfeites, mas isso está fazendo com que quase tudo que está sendo executado no host seja trocado. E isso é um grande problema para mim porque tudo ficaentãolento.

Pelo que sei, o cache de RAM não deve causar a troca de memória. Eu sei que o Linux deveria ser mais inteligente quemeusobre a utilização eficiente da memória, como por exemplo, como eu não deveria limpar a troca e/ou cache... mas, ter tudo trocado, desacelerando consideravelmente o sistema, não parece inteligente nem eficiente para mim.

O que poderia estar acontecendo? O Linux está armazenando em cache os acessos ao disco da VM e é por isso que está sempre usando todo o restante da minha RAM? A VM está instalada em uma imagem de disco. Devo tentar usar um disco físico separado para ela?

informação relacionada