Cores per Socket

An incorrect cores per socket setting has been found on the host. This could be restricting SQL Server from accessing the full amount of cores. Alternatively, the host may have more cores than SQL Server can access and may be oversized.

Suggested Action

Our recommendation is to set cores-per-socket to the expected number of vCPUs in a vNUMA node. This means that if you have a physical server with 2 sockets and 8 cores per socket (16 cores total), and you want to create a VM with 8 vCPUs, you would set cores-per-socket to 8. This would present a single vNUMA node to the guest operating system with all 8 vCPUs in that node.

By setting cores-per-socket to the expected number of vCPUs in a vNUMA node, you can ensure that the guest operating system has an accurate view of the underlying physical NUMA topology and can make optimal decisions on memory allocation and processor scheduling.

What is vNUMA?

vNUMA (Virtual Non-Uniform Memory Access) is a technology that presents a virtual NUMA topology to the guest operating system. This allows the guest operating system to make intelligent decisions on memory allocation and processor scheduling based on the underlying physical NUMA topology.

Further Reading

Hyper-V Processor Performance | Microsoft Learn

Virtual Machine vCPU and vNUMA Rightsizing – Guidelines | VMware Blogs