Eu configurei uma máquina virtual através do KVM-libvirt (virt-manager) com o 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 são alocados para ele e os outros 12 para a VM.
Depois de inicializar a VM e deixá-la descansar por um tempo, não muito tempo, talvez uma hora, toda a memória RAM restante de todo o host fica 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 algumas navegações normais (escrevendo essa pergunta na verdade) .
Agora, eu já li muito sobre cache de Linux RAM, porque RAM livre é desperdiçada RAM e outros enfeites, mas isso está fazendo com que quase tudo o que está sendo executado no host para ser trocado. E isso é um grande problema para mim porque tudo fica tão lento.
Tanto quanto eu posso dizer, o cache de RAM não deve causar a troca de memória. Eu sei que o linux deve ser mais inteligente do que mim sobre a utilização eficiente da memória, por exemplo, como eu não deveria limpar a troca e / ou cache ... mas, tendo tudo trocado, abrandando o sistema consideravelmente 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 memória RAM? A VM está instalada em uma imagem de disco, devo tentar usar um disco físico separado para ela?