16.3.2. Adicionar e remover memória de máquina virtual usando a interface de linha de comando
Para melhorar o desempenho de uma máquina virtual (VM) ou para liberar os recursos do host que ela está usando, você pode usar a CLI para ajustar a quantidade de memória alocada para a VM.
Pré-requisitos
O sistema operacional convidado está executando os drivers do balão de memória. Para verificar este é o caso:
Garantir que a configuração da VM inclua o dispositivo
memballoon
:# virsh dumpxml testguest | grep memballoon <memballoon model='virtio'> </memballoon>
Se este comando exibir qualquer saída e o modelo não estiver configurado para
none
, o dispositivomemballoon
está presente.Certifique-se de que os condutores de balões estejam funcionando no sistema operacional convidado.
- No Windows, os drivers são instalados como parte do pacote de drivers virtio-win. Para instruções, veja Seção 17.2.1, “Instalação de drivers paravirtualizados KVM para máquinas virtuais Windows”.
-
Nos convidados Linux, os drivers são geralmente incluídos por padrão e ativados quando o dispositivo
memballoon
está presente.
Procedimento
Optional: Obter as informações sobre a memória máxima e a memória atualmente utilizada para uma VM. Isto servirá como uma base para suas mudanças, e também para verificação.
# virsh dominfo testguest Max memory: 2097152 KiB Used memory: 2097152 KiB
Ajuste a memória máxima alocada a uma VM. Aumentar este valor melhora o potencial de desempenho da VM, e reduzir o valor diminui a pegada de desempenho que a VM tem em seu host. Note que esta mudança só pode ser realizada em uma VM desligada, portanto, o ajuste de uma VM em funcionamento requer uma reinicialização para ter efeito.
Por exemplo, para mudar a memória máxima que o testguest VM pode usar para 4096 MiB:
# virt-xml testguest --edit --memory memory=4096,currentMemory=4096 Domain 'testguest' defined successfully. Changes will take effect after the domain is fully powered off.
Optional: Você também pode ajustar a memória atualmente utilizada pela VM, até a alocação máxima. Isto regula a carga de memória que a VM tem no host até a próxima reinicialização, sem alterar a alocação máxima da VM.
# virsh setmem testguest --current 2048
Verificação
Confirmar que a memória utilizada pela VM foi atualizada:
# virsh dominfo testguest Max memory: 4194304 KiB Used memory: 2097152 KiB
Optional: Se você ajustar a memória atual da VM, você pode obter as estatísticas do balão de memória da VM para avaliar o quão efetivamente ela regula seu uso de memória.
# virsh domstats --balloon testguest Domain: 'testguest' balloon.current=365624 balloon.maximum=4194304 balloon.swap_in=0 balloon.swap_out=0 balloon.major_fault=306 balloon.minor_fault=156117 balloon.unused=3834448 balloon.available=4035008 balloon.usable=3746340 balloon.last-update=1587971682 balloon.disk_caches=75444 balloon.hugetlb_pgalloc=0 balloon.hugetlb_pgfail=0 balloon.rss=1005456
Recursos adicionais
- Para instruções de ajuste de memória VM usando o console web, veja Seção 16.3.1, “Adicionar e remover memória de máquina virtual usando o console web”.
- Para otimizar como a VM utiliza a memória alocada, você pode modificar sua configuração de vCPU. Para mais informações, veja Seção 16.5, “Otimizando o desempenho da CPU da máquina virtual”.