Red Hat Training

A Red Hat training course is available for RHEL 8

16.5. Optimización del rendimiento de la CPU de la máquina virtual

Al igual que las CPUs físicas en las máquinas anfitrionas, las vCPUs son críticas para el rendimiento de las máquinas virtuales (VM). Como resultado, la optimización de las vCPUs puede tener un impacto significativo en la eficiencia de los recursos de sus VMs. Para optimizar su vCPU:

  1. Ajuste cuántas CPUs de host se asignan a la VM. Puede hacerlo mediante la CLI o la consola web.
  2. Asegúrese de que el modelo de vCPU está alineado con el modelo de CPU del host. Por ejemplo, para configurar la VM testguest1 para que utilice el modelo de CPU del host:

    # virt-xml testguest1 --edit --cpu host-model
  3. Desactivar la fusión de páginas del núcleo (KSM).
  4. Si su máquina anfitriona utiliza acceso no uniforme a la memoria (NUMA), también puede configure NUMA para sus máquinas virtuales. Esto mapea los procesos de la CPU y la memoria del host en los procesos de la CPU y la memoria de la VM lo más cerca posible. En efecto, el ajuste NUMA proporciona a la vCPU un acceso más ágil a la memoria del sistema asignada a la VM, lo que puede mejorar la eficacia del procesamiento de la vCPU.

    Para más detalles, consulte Sección 16.5.3, “Configuración de NUMA en una máquina virtual” y Sección 16.5.4, “Ejemplo de escenario de ajuste de rendimiento de vCPU”.

16.5.1. Añadir y eliminar CPUs virtuales mediante la interfaz de línea de comandos

Para aumentar u optimizar el rendimiento de la CPU de una máquina virtual (VM), puede añadir o eliminar CPUs virtuales (vCPUs) asignadas a la VM.

Cuando se realiza en una VM en ejecución, esto también se conoce como vCPU hot plugging y hot unplugging. Sin embargo, tenga en cuenta que la desconexión en caliente de vCPU no está soportada en RHEL 8 y Red Hat desaconseja su uso.

Requisitos previos

  • Optional: Ver el estado actual de las vCPUs en la VM objetivo. Por ejemplo, para mostrar el número de vCPUs en la VM testguest:

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

    Esta salida indica que testguest está usando actualmente 1 vCPU, y se puede conectar en caliente 1 vCPu más para aumentar el rendimiento de la VM. Sin embargo, después de reiniciar, el número de vCPUs que utiliza testguest cambiará a 2, y será posible conectar en caliente 2 vCPUs más.

Procedimiento

  1. Ajusta el número máximo de vCPUs que se pueden adjuntar a una VM, que entra en vigor en el siguiente arranque de la VM.

    Por ejemplo, para aumentar el número máximo de vCPU para la VM testguest a 8:

    # virsh setvcpus testguest 8 --maximum --config

    Tenga en cuenta que el máximo puede estar limitado por la topología de la CPU, el hardware del host, el hipervisor y otros factores.

  2. Ajuste el número actual de vCPUs adjuntas a una VM, hasta el máximo configurado en el paso anterior. Por ejemplo:

    • Para aumentar el número de vCPUs adjuntas a la VM testguest en ejecución a 4:

      # virsh setvcpus testguest 4 --live

      Esto aumenta el rendimiento de la VM y la huella de carga del host de testguest hasta el siguiente arranque de la VM.

    • Para disminuir permanentemente el número de vCPUs adjuntas a la VM testguest a 1:

      # virsh setvcpus testguest 1 --config

      Esto disminuye el rendimiento de la VM y la huella de carga del host de testguest después del siguiente arranque de la VM. Sin embargo, si es necesario, se pueden conectar en caliente vCPUs adicionales a la VM para aumentar temporalmente su rendimiento.

Verificación

  • Confirme que el estado actual de vCPU para la VM refleja sus cambios.

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

Recursos adicionales