Reduzindo a perda de desempenho da VM
5. Clique em Salvar.
A alocação da memória da VM é ajustada. Recursos adicionais
Para instruções de ajuste de memória VM usando a interface de linha de comando, veja Seção 11.3.2, “Adicionar e remover memória de máquina virtual usando a interface de linha de comando”.
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 11.5, “Otimizando o desempenho da CPU da máquina virtual”.
11.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:
1. 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 dispositivo memballoon está presente.
2. 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, consulte Instalação de drivers KVM paravirtualizados 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
1. 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
2. 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.
1. 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
1. Confirmar que a memória utilizada pela VM foi atualizada: # virsh dominfo testguest
Max memory: 4194304 KiB Used memory: 2097152 KiB
2. 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 11.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 11.5, “Otimizando o desempenho da CPU da máquina virtual”.
11.3.3. Recursos adicionais
Para aumentar a memória máxima de uma VM em funcionamento, você pode anexar um dispositivo de memória à VM. Isto também é referido como memory hot plug. Para detalhes, consulte Anexando dispositivos a máquinas virtuais.
Note que remover um dispositivo de memória de um VM, também conhecido como memory hot unplug, não é suportado no RHEL 8, e a Red Hat desencoraja muito seu uso.
11.4. OTIMIZAÇÃO DO DESEMPENHO DE E/S DA MÁQUINA VIRTUAL
As capacidades de entrada e saída (E/S) de uma máquina virtual (VM) podem limitar significativamente a eficiência geral da VM. Para resolver isso, você pode otimizar a E/S de uma VM configurando os parâmetros de E/S de bloco.11.4.1. E/S do bloco de sintonia em máquinas virtuais
Quando múltiplos dispositivos de bloco estão sendo usados por uma ou mais VMs, pode ser importante ajustar a prioridade de E/S de dispositivos virtuais específicos, modificando seu I/O weights.
Aumentar o peso de E/S de um dispositivo aumenta sua prioridade para a largura de banda de E/S e, portanto, proporciona mais recursos para o host. Da mesma forma, a redução do peso de um dispositivo faz com que ele consuma menos recursos do host.
NOTA
O valor de cada dispositivo weight deve estar dentro da faixa 100 a 1000. Alternativamente, o valor pode ser 0, o que retira esse dispositivo das listas por dispositivo.
Procedimento
Para exibir e definir os parâmetros de E/S de um bloco VM: 1. Exibir os parâmetros atuais <blkio> para uma VM:
# virsh dumpxml VM-name
2. Edite o peso de E/S de um dispositivo especificado:
# virsh blkiotune VM-name --device-weights device, I/O-weight
Por exemplo, o seguinte muda o peso do dispositivo /dev/sda no site liftrul VM para 500. # virsh blkiotune liftbrul --device-weights /dev/sda, 500
11.4.2. Estrangulamento de E/S de disco em máquinas virtuais
Quando várias VMs estão funcionando simultaneamente, elas podem interferir com o desempenho do sistema, utilizando uma E/S em disco excessiva. A aceleração da E/S do disco na virtualização KVM proporciona a capacidade de definir um limite nas solicitações de E/S do disco enviadas pelas VMs para a máquina host. Isto pode evitar que uma VM utilize em excesso recursos compartilhados e tenha impacto no desempenho de outras VMs.
Para ativar a aceleração de E/S de disco, defina um limite para as solicitações de E/S de disco enviadas de cada dispositivo de bloco anexado às VMs para a máquina host.
Procedimento
1. Use o comando virsh domblklist para listar os nomes de todos os dispositivos de disco em uma