Thursday 29 December 2016

Uncommon questions about vNUMA & VM performance


1) For optimal performance, do we have to use more sockets or more cores?
-> For optimal performance, it’s always preferred to have more sockets over cores, refer to the below link for more details.
    Eg: if the required vCPU is 24, then you can configure with 24 sockets and 1 core per socket.

Link  # 1

Link #2

2) Can we configure NUMA for VM from host level?
-> NUMA will be enabled by default for a VM which is having more than 8 CPU. 

By default, vNUMA is enabled only for virtual machines with more than eight vCPUs. This feature can be enabled for smaller virtual machines, however, while still allowing ESXi to automatically manage the vNUMA topology. This can be useful for wide virtual machines (that is, virtual machines with more vCPUs than the number of cores in each physical NUMA node) with eight or fewer vCPUs. 

You can enable vNUMA for virtual machines with eight or fewer vCPUs by adding to the .vmx file the line:numa.vcpu.min = X (where X is the number of vCPUs in the virtual machine).

NOTE: - For more information about NUMA, see “Non-Uniform Memory Access (NUMA)” on page 22 (Refer link 2)
NOTE: - Some multi-core processors have NUMA node sizes that are different than the number of cores per socket. For example, some 12-core processors have two six-core NUMA nodes per processor.

This change can be made through the vSphere Client:

Steps:
a)     Select the virtual machine you wish to change, then click Edit virtual machine settings.
b)     Under the Options tab, select General, then click Configuration Parameters.
c)     Look for numa.vcpu.min. If it’s not present, click Add Row and enter the new variable.
d)     Click on the value to be changed and configure it as you wish.

3) Way to allocate more resource to the VM?
-> Either by configuring resource pool or by reserving CPU and memory to the specific VM.

4) Can we configure a VM to use memory from one physical socket?
-> This cannot be configured from a vSphere layer, the memory required to the VM will be provisioned by a host on demand by the VM. 


No comments:

Post a Comment