Configurar el número de núcleos por CPU en una máquina virtual
search cancel

Configurar el número de núcleos por CPU en una máquina virtual

book

Article ID: 311406

calendar_today

Updated On:

Products

VMware vCenter Server VMware vSphere ESXi

Issue/Introduction

Renuncia: Este artículo es una traducción de Setting the number of cores per CPU in a virtual machine (1010184). Los artículos han sido traducidos en español basados en el mejor esfuerzo. Sin embargo, el contenido localizado o específico puede quedar desactualizado. Para revisar el contenido más reciente, por favor consulte el artículo en Inglés.

Este artículo proporciona información acerca de la configuración del número de núcleos por CPU en una máquina virtual.


Environment

VMware ESXi 4.1.x Installable
VMware vCenter Server 5.0.x
VMware vCenter Server 4.1.x
VMware vSphere ESXi 5.0
VMware ESX 4.1.x
VMware ESXi 4.1.x Embedded

Resolution

Nota: Esta característica es experimental en vSphere 4.0.

Algunas SKU de sistemas operativos están limitadas a ejecutarse en un número fijo de CPU. Por ejemplo, Windows Server 2003 Standard Edition está limitado a ejecutarse hasta en 4 CPU. Si instala este sistema operativo en una caja física con 8 entradas, solo se ejecutará en 4 de las CPU. El sistema operativo aprovecha las ventajas de las CPU de núcleo múltiple, así que si sus CPU son de doble núcleo, Windows Server2003SEse ejecutará hasta en 8 núcleos, y si tiene CPU de cuatro núcleos, se ejecutará en 16 núcleos y así sucesivamente.

Las CPU virtuales (vCPU) en máquinas virtuales VMware aparecen en el sistema operativo como CPU de un solo núcleo. Entonces, al igual que en el ejemplo anterior, si crea una máquina virtual con 8 vCPU (puede hacerlo con vSphere) el sistema operativo visualizará 8 CPU de un solo núcleo. Si el sistema operativo es Windows2003SE (limitado a 4 CPU), solo se ejecutará en 4 vCPU.

Nota: Recuerde que 1 vCPU corresponde a un núcleo físico y no, a una CPU física, así la máquina virtual realmente ejecutará 4 núcleos.

La consideración de que 1 vCPUes igual a 1 CPUes una conjetura que se utiliza para la simplificación, ya que las vCPU están programadas en CPU lógicas, que son contextos de ejecución de hardware. Estas tareas pueden tardar en el caso de una CPU de un solo núcleo, CPU que tienen un solo hilo por núcleo, o puede ser solo un hilo en el caso de las CPU que tienen hyperthreading.

Considere el siguiente escenario:

En el mundo físico, puede ejecutar Windows 2003SE en hasta 8 núcleos (utilizando una caja de cuatro núcleos con dos entradas), pero en una máquina virtual solo se pueden ejecutar 4 núcleos porque VMware le indica al sistema operativo que cada CPU tiene un solo núcleo por entrada.

VMware ahora cuenta con una configuración que le brinda control sobre el número de núcleos por CPU en una máquina virtual.

Esta nueva configuración, la cual puede agregar al archivo de configuración de la máquina virtual (.vmx),le permite configurar el número de núcleos por entrada virtual en la máquina virtual.

Para implementar esta característica:

  1. Apague la máquina virtual.
  2. Haga clic con el botón secundario del mouse sobre la máquina virtual y haga clic en Edit Settings.
  3. Haga clic en Hardware y seleccione CPUs.
  4. Seleccione el número de procesadores virtuales.
  5. Haga clic en Options.
  6. Haga clic en General, en la sección de opciones avanzadas.
  7. Haga clic en Configuration Parameters.
  8. Incluyacpuid.coresPerSocket en la columna Name.
  9. Ingrese un valor (intente 2, 4 u 8) en la columna Value..

    Notas: Asegúrese de que el número de las vCPU sea divisible por el número de cpuid.coresPerSocket en la máquina virtual.Es decir, cuando divide el número de las vCPU por el número de cpuid.coresPerSocket, debe dar como resultado un valor entero. Por ejemplo, si su máquina virtual es creada con 8 vCPU, los núcleos por entrada solo pueden ser 1, 2, 4 u 8.

    Ahora la máquina virtual aparece en el sistema operativo con CPU de núcleos múltiples con el número de núcleos por CPU dado por el valor que se obtuvo en el paso 9.
  10. Haga clic en OK.

    Por ejemplo:

Utilizar 4 vCPU
Configuración que desee
Ajustes necesarios para la configuración
Número de entradas
Número de núcleos por entrada
Total de núcleos
Ajustar vCPU a:
Ajustar cpuid.coresPerSocket/sockets a:
1
4
4
4
4
2
2
4
4
2

Utilizar 8 vCPU
Configuración que desee
Ajustes necesarios para la configuración
Número de entradas
Número de núcleos por entrada
Total de núcleos
Ajustar vCPU a:
Ajustar cpuid.coresPerSocket/sockets a:
1
8
8
8
8
2
4
8
8
4
4
2
8
8
2

Notas:

  • Para poder asignar más de 4 vCPU o si el procesador admite más de 6 núcleos por procesador, debe asignar una licencia Enterprise Plus, la cual admite hasta 8 vCPU y 12 núcleos por procesador.
  • Solo valores de 1, 2, 4, 8 para el cpuid.coresPerSocket son admitidos por la función de vCPU de núcleos múltiples de ESX 4.x.
  • En ESX 4.0, si se utiliza una vCPU de núcleos múltiples, no se permite vCPU de conexión directa, aunque esté disponible en la interfaz de usuario.
  • Las máquinas virtuales HV 7 son las únicas que admiten la función vCPU de núcleos múltiples.

Importante: Al utilizar cpuid.coresPerSocket, siempre debe asegurarse de cumplir con los requisitos del contrato de licencia de consumidor final (EULA) de su sistema operativo (es decir, en cuanto al número de CPU físicas en las cuales el sistema operativo está de hecho siendo ejecutado).

Información adicional

Si está utilizando un sistema operativo que fue lanzado cuando SMP era un servidor de gama alta, es posible que necesite algunos ajustes, como seleccionar el kernel de SMP para máquinas virtuales Linux y el multiprocesador PC HAL para máquinas virtuales Windows.

Nota:No encontrará problemas con los sistemas operativos más recientes. XP y posteriores y RHEL5 y posteriores siempre instalan el kernel SMP o se pasan a él de forma automática.

Algunos ejemplos de versiones anteriores de sistemas operativos son:

  • RHel3-ES32
  • RHel3-ES64
  • RHel4.8-AS32
  • RHel4.7-ES32
  • RHel4.7-ES64
  • Win2000-Pro
  • Win2000-Serv

Para obtener información acerca de:



Additional Information

Setting the number of cores per CPU in a virtual machine