Red Hat Training

A Red Hat training course is available for RHEL 8

16.5. Otimizando o desempenho da CPU da máquina virtual

Assim como as CPUs físicas em máquinas host, as vCPUs são fundamentais para o desempenho da máquina virtual (VM). Como resultado, a otimização das vCPUs pode ter um impacto significativo na eficiência de recursos de suas VMs. Para otimizar sua vCPU:

  1. Ajuste quantos CPUs de host são designados para o VM. Você pode fazer isso usando o CLI ou o console web.
  2. Certifique-se de que o modelo vCPU esteja alinhado com o modelo de CPU do host. Por exemplo, configurar o VM testguest1 para usar o modelo de CPU do host:

    # virt-xml testguest1 --edit --cpu host-model
  3. Desativar a fusão da mesma página do núcleo (KSM).
  4. Se sua máquina host utiliza Acesso de Memória Não-Uniforme (NUMA), você também pode configure NUMA para suas VMs. Isto mapeia a CPU do host e os processos de memória na CPU e processos de memória da VM o mais próximo possível. Com efeito, o NUMA tuning fornece à vCPU um acesso mais simplificado à memória do sistema alocada à VM, o que pode melhorar a eficácia do processamento da vCPU.

    Para maiores detalhes, ver Seção 16.5.3, “Configuração do NUMA em uma máquina virtual” e Seção 16.5.4, “Exemplo de cenário de ajuste de desempenho da vCPU”.

16.5.1. Adicionar e remover CPUs virtuais usando a interface de linha de comando

Para aumentar ou otimizar o desempenho da CPU de uma máquina virtual (VM), você pode adicionar ou remover as CPUs virtuais (vCPUs) atribuídas à VM.

Quando realizado em uma VM em funcionamento, isto também é chamado de vCPU hot plugging e hot unplugging. Entretanto, observe que o hot unplug vCPU não é suportado no RHEL 8, e a Red Hat desencoraja muito seu uso.

Pré-requisitos

  • Optional: Veja o estado atual das vCPUs na VM visada. Por exemplo, para exibir o número de vCPUs no site testguest VM:

    # virsh vcpucount testguest
    maximum      config         4
    maximum      live           2
    current      config         2
    current      live           1

    Esta saída indica que testguest está usando atualmente 1 vCPU, e mais 1 vCPu pode ser conectado a ele para aumentar o desempenho da VM. Entretanto, após a reinicialização, o número de vCPUs testguest usadas mudará para 2, e será possível fazer hot plug em mais 2 vCPUs.

Procedimento

  1. Ajuste o número máximo de vCPUs que podem ser anexadas a uma VM, o que entra em vigor na próxima inicialização da VM.

    Por exemplo, para aumentar a contagem máxima de vCPU para a VM testguest para 8:

    # virsh setvcpus testguest 8 --maximum --config

    Observe que o máximo pode ser limitado pela topologia da CPU, hardware do host, o hipervisor e outros fatores.

  2. Ajuste o número atual de vCPUs acopladas a uma VM, até o máximo configurado na etapa anterior. Por exemplo, o número de vCPUs:

    • Para aumentar o número de vCPUs anexadas à VM em execução testguest para 4:

      # virsh setvcpus testguest 4 --live

      Isto aumenta o desempenho da VM e a pegada de carga do host do testguest até a próxima inicialização da VM.

    • Diminuir permanentemente o número de vCPUs anexadas à testguest VM para 1:

      # virsh setvcpus testguest 1 --config

      Isto diminui o desempenho da VM e a pegada de carga do host do testguest após a próxima inicialização da VM. Entretanto, se necessário, vCPUs adicionais podem ser conectados a quente à VM para aumentar temporariamente seu desempenho.

Verificação

  • Confirme que o estado atual da vCPU para a VM reflete suas mudanças.

    # virsh vcpucount testguest
    maximum      config         8
    maximum      live           4
    current      config         1
    current      live           4

Recursos adicionais