Hello I have a host server that shows two numa nodes. First let me say i know next to nothing about numa but i have a vendor that is requiring we have numa nodes on our sql server.
My question is how do i enable this in the vm. Everytime i boot the 2012 server it shows no numa nodes. I have confirmed that two nodes exist on the host.
Thank you
Hey JBal180
How much memory / CPU are you assigning to the VM.
Also what are you ESXi hosts CPU / memory wise?
Also this is a pretty good blog post about Numa, its a little dated as it talks about 4.1 however its the same concepts that apply now.
http://frankdenneman.nl/2010/02/03/sizing-vms-and-numa-nodes/
The hosts are PowerEdge R720
12 CPU's x 2.899GHz
2 Sockets
6 Cores per socket
196 GB of memory
The guest VM is
Server 2012
1 socket
4 cores
32 GB of memory
Here is another good article on NUMA
http://www.datacenterdan.com/blog/vsphere-55-bpperformance02-numa-alignment
I'm trying to find my notes from VMware world as they have a new tool that allows you to see how many nodes your VM is running on. I can't seem to find it, but when I do i'll post it.
So you have 2 sockets with 6 cores each, with 196GB of memory, unless your host is doing somethign special I would assume the following:
2 NUMA Nodes
98GB of memory per NUMA node
12 CPU per numa node
So when your creating your VM if you stay withing 12vCPU and 98GB of memory it should stay local to your closest NUMA node.
Check ESXTOP to see how many NUMA nodes your host has though, it could be breaking it out based off core or something
Does corespersocket Affect Performance? | VMware vSphere Blog - VMware Blogs
Also if your VM is over 8vCPU it will automatically turn on NUMA and caluclate it automatically
http://www.brentozar.com/archive/2013/01/big-changes-for-big-virtual-machines-in-vmware-vsphere-5/
I would however change your vCPU to 4 scokets at 1 core each instead of 1 core and 4 sockets. The only reason to ever use the sockets is to get around OS limitations, IE Windows Server 2003 standard only allowed so many sockets and as each vCPU counts as a socket you couldn't get past 4 unless you used the sockets feature. Chaning it from 1 socket 4 core to 4 socket 1 core will help the CPU scheduler do its job easier.
By default, virtual NUMA is only presented to a VM if it has 9 or more vCPUs.
If you really must present vNUMA to the guest with fewer vCPUs, then use a vCPU configuration of 4 sockets with a single core per socket and edit the default VM configuration parameter numa.vcpu.min to the number of vCPUs, e.g. 4 in your case:
ESXi will automatically select the most suitable vNUMA topology depending on the host system, there is no need to play with cores per socket unless you need to do so for licensing reasons:
Does corespersocket Affect Performance? | VMware vSphere Blog - VMware Blogs
Also note that CPU hot-add must be disabled for vNUMA:
VMware KB: vNUMA is disabled if VCPU hotplug is enabled
Here are some more good general infos on NUMA:
http://www.davidklee.net/2013/12/02/sql-server-virtual-machine-vnuma-sizing/
http://www.vxpertise.net/2012/06/summarizing-numa-scheduling/