You can use the advanced virtual NUMA attributes to customize virtual NUMA usage.

Table 1. Advanced NUMA Attributes

Attribute

Description

Default

cpuid.coresPerSocket

Determines the number of virtual cores per virtual CPU socket. If the value is greater than 1, also determines the size of virtual NUMA nodes if a virtual machine has a virtual NUMA topology. You can set this option if you know the exact virtual NUMA topology for each physical host.

1

numa.autosize

When you set this option, the virtual NUMA topology has the same number of virtual CPUs per virtual node as there are cores on each physical node.

FALSE

numa.autosize.once

When you create a virtual machine template with these settings, the settings are guaranteed to remain the same every time you subsequently power on the virtual machine. The virtual NUMA topology will be reevaluated if the configured number of virtual CPUs on the virtual machine is modified.

TRUE

numa.vcpu.maxPerVirtualNode

If cpuid.coresPerSocket is too restrictive as a power of two, you can set numa.vcpu.maxPerVirtualNode directly. In this case, do not set cpuid.coresPerSocket.

8

numa.vcpu.min

Minimum number of virtual CPUs in a virtual machine that are required in order to generate a virtual NUMA topology.

9

numa.vcpu.maxPerMachineNode

Maximum number of virtual CPUs that belong to the same virtual machine that can be scheduled on a NUMA node at the same time. Use this attribute to ensure maximum bandwidth, by forcing different NUMA clients on different NUMA nodes.

Number of cores per node on the physical host where a virtual machine is running.

numa.vcpu.maxPerClient

Maximum number of virtual CPUs in a NUMA client. A client is a group of virtual CPUs that are NUMA-managed as a single entity. By default, each virtual NUMA node is a NUMA client, but if a virtual NUMA node is larger than a physical NUMA node, a single virtual NUMA node can be backed by multiple NUMA clients.

Equals numa.vcpu.maxPerMachineNode

numa.nodeAffinity

Constrains the set of NUMA nodes on which a virtual machine's virtual CPU and memory can be scheduled.

Note:

When you constrain NUMA node affinities, you might interfere with the ability of the NUMA scheduler to rebalance virtual machines across NUMA nodes for fairness. Specify NUMA node affinity only after you consider the rebalancing issues.

numa.mem.interleave

Specifies whether the memory allocated to a virtual machine is statically interleaved across all the NUMA nodes on which its constituent NUMA clients are running and there is no virtual NUMA topology exposed.

True