Para las máquinas virtuales con un consumo de memoria desproporcionadamente grande, se pueden utilizar opciones avanzadas para anular de forma manual la configuración de CPU virtual predeterminada.

Se pueden agregar estas opciones avanzadas al archivo de configuración de la máquina virtual.

Tabla 1. Opciones avanzadas de los controles de NUMA virtuales

Opción

Descripción

Valor predeterminado

cpuid.coresPerSocket

Determina la cantidad de núcleos virtuales por socket de CPU virtual. Si el valor es mayor que 1, también determina el tamaño de los nodos NUMA virtuales si una máquina virtual tiene una topología NUMA virtual. Esta opción se puede establecer si se conoce la topología NUMA virtual exacta de cada host físico.

1

numa.vcpu.maxPerVirtualNode

Si cpuid.coresPerSocket es demasiado restrictivo como potencia de dos, se puede establecer numa.vcpu.maxPerVirtualNode directamente. En este caso, no establezca cpuid.coresPerSocket.

8

numa.autosize

Al establecer esta opción, la topología NUMA virtual tiene la misma cantidad de CPU virtuales por nodo virtual que los núcleos de cada nodo físico.

FALSE

numa.autosize.once

Al crear una plantilla de máquina virtual con esta configuración, se garantiza que la configuración sea la misma cada vez que se vuelve a encender la máquina virtual posteriormente. La topología NUMA virtual se volverá a evaluar si se modifica la cantidad configurada de CPU virtuales en la máquina virtual.

TRUE

numa.vcpu.min

Es la cantidad mínima de CPU virtuales que se requiere en una máquina virtual para generar la topología NUMA virtual.

9

Nota:

Cuando se establece numa.autosize en TRUE, y si la configuración se estableció manualmente o mediante script, es posible que algunos invitados no puedan controlar los cambios dinámicos.

Por ejemplo, una aplicación Linux configurada con la utilidad del sistema numactl se configura y prueba en un host físico con cuatro núcleos por nodo. El host precisa dos nodos NUMA para una máquina virtual con ocho CPU virtuales. Si la misma máquina virtual se ejecuta en un sistema con ocho núcleos por nodo, lo cual podría ocurrir durante una operación de vMotion, y numa.autosize está establecido en TRUE, se crea un solo nodo NUMA virtual (en lugar de dos nodos NUMA virtuales). Cuando numactl se refiere al segundo nodo NUMA virtual, la operación tiene errores.

Para evitarlo, los scripts deben ser lo suficientemente inteligentes para solicitar primero numactl --hardware. De lo contrario, se debe establecer la topología NUMA de forma explícita o permitir que se aplique la configuración de numa.autosize.once predeterminada.