VMware Cloud Community
cfsullivan
Contributor
Contributor

NUMA Node Not Visible in OS?

If I configure my Windows 2016 VM to have 1 socket and 14 cores on an Intel host that has 2 sockets with 14 cores each, I should have just one NUMA node on the VM if I'm not mistaken. So my question is, should I see that one NUMA node in Task Manager and Resource Monitor? It seems like I should, despite the fact that there is only one, but can someone confirm?

Thanks.

Tags (1)
0 Kudos
8 Replies
jterli
VMware Employee
VMware Employee

If your host is not HT enabled, then the VM NUMA nodes will be 1.

From the Windows task manager, CPU tab, the NUMA node view will be disabled, as your VM has only one NUMA node.

You can cross verify the same from esxtop ouput of ESXi.

The VM is placed only one host NUMA node.

0 Kudos
cfsullivan
Contributor
Contributor

Thanks for the reply.

I checked the host and hyper threading is enabled. I did expect to have one NUMA node on my VM because I gave it 1 socket with 14 cores and the host has two sockets with 14 cores each.

But, from what you're saying I'm seeing what is expected in Windows exactly because there is only one NUMA node. ("NUMA node view will be disabled, as your VM has only one NUMA node.") If that is so, then I should be set.

0 Kudos
jterli
VMware Employee
VMware Employee

Just be sure, you can cross check from the esxtop command.

That will list the NUMA nodes on which VM is placed.

In your scenario the behavior is as expected.

0 Kudos
Grime121
Contributor
Contributor

If NUMA was dependent upon HT, it wouldn’t work with AMD processors. I don’t think HT being enabled matters…. Am I missing something?

0 Kudos
aakibdawood
Enthusiast
Enthusiast

NUMA is dependent on the number of physical cores only and not on the number of logical cores. If you have 4 core CPU with HT enabled, you get 4 physical cores and 8 logical cores. Now if a user creates a VM with 4 vCPUs, that VM can be accommodated on a single NUMA node because the number of vCPU is not greater than the number of pCPUs. Another VM with 6 vCPUs cannot be placed on a single NUMA node even though the number of  vCPUs is less than the number of logical cores.

So HT does not effect NUMA but may mislead the user to rely on logical cores as NUMA boundary.

0 Kudos
Grime121
Contributor
Contributor

I came across this post because I was searching for issues with Windows OS VMs not showing NUMA as being enabled. We have a VM with 14 vCPUs that is showing NUMA as being disabled. I have not checked the number of virtual sockets vs. virtual cores that we have assigned to it, but my guess would be 14 vCores, and only 1 vSocket. Is that the issue? It is an Ivanti EPM Core Server, and they strongly recommend NUMA be enabled, and in use for performance reasons. Do I need to modify the number of vSockets vs. vCores? If so, what would be the optimum balance between those? We stopped bothering with vSockets vs. vCores several years ago because it really didn’t seem to make much of a difference on our VMs.

The host servers in this vSphere Cluster are Dell R650’s. I think they have 2 physical sockets, and maybe 16 cores each? I would have to check regarding the cores to be certain….

0 Kudos
Kinnison
Commander
Commander

Hi,


Your question exposes an interesting and often discussed topic.


Mr. Denneman on his blog he has published many interesting articles that deal in detail with this specific topic which, in my opinion, deserve to be read.
For reference: https://frankdenneman.nl/category/numa/


The official documentation also explores the same topic (albeit, always in my opinion in a different and "simplified" way).:
For reference: https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.vsphere.resmgmt.doc/GUID-7E0C6311-5B27-408E...


You might also be interested in reading this KB article:
https://kb.vmware.com/s/article/2040375


Regards,
Ferdinando

0 Kudos
aakibdawood
Enthusiast
Enthusiast

Hello Grime121.

As discussed in this post. If your VM has a single NUMA node then NUMA the NUMA node view is set to disabled. So in your case it is likely that you have configured a single socket with 14 cores. Single your host has 16 physical cores, the VM is being mapped to a single NUMA node.  

0 Kudos