Virtual machines (VMs) running on VMware ESXi may report a 1:1 ratio of cores to logical processors within the Guest Operating System (OS). This occurs even when Hyper-Threading (HT) or Simultaneous Multithreading (SMT) is enabled on the physical host. Workloads that benefit from high inter-thread communication may experience performance degradation without access to sibling threads.
By default, the ESXi hypervisor abstracts physical CPU topology to provide maximum isolation. The scheduler does not expose sibling Hyper-Threads to the VM unless explicitly configured to do so. This prevents the Guest OS from scheduling tasks on logical threads of the same physical core.
To enable SMT-like behavior where the Guest OS utilizes multiple threads per core, use one of the following methods:
numa.vcpu.preferHT = TRUENuma.PreferHTNuma.PreferHT to 1Note: This change applies to all virtual machines running on the host and instructs the ESXi scheduler to prefer scheduling vCPUs on sibling Hyper-Threads of the same physical core.
For more information on virtual NUMA controls, see vSphere Resource Management Guide.