Product Announcements

Checking the vNUMA Topology

I’ve been asked a few times recently how to determine what virtual topology vNUMA recommended and created for us and besides looking at the obvious guest OS for the final result, you can also check the vmware.log file for more detailed information.

Additional background here.

Examples:

1) “Wide and “Flat” virtual machine – default configuration

This virtual machine was configured with 20 vCPUs (20 sockets and 1 corespersocket) on a 4 socket, 10 core, hyper-threading enabled, host:

numa: Exposing multicore topology with cpuid.coresPerSocket = 10 is suggested for best performance

numaHost: 2 virtual nodes, 20 virtual sockets, 2 physical domains

Here we see vNUMA has automatically set corespersocket = 10, which matches the physical topology, and presented 2 “virtual nodes” aka NUMA nodes.

2) Spanning pNUMA nodes – manually configured

This virtual machine was configured with 20 vCPUs (1 socket and 20 corespersocket) on a 4 socket, 10 core, hyper-threading enabled, host:

numa: Setting.vcpu.maxPerVirtualNode=20 to match cpuid.coresPerSocket

numaHost: 1 virtual nodes, 1 virtual sockets, 2 physical domains

Here we see vNUMA has respected the manual configuration and set the vNUMA advanced setting maxPerVirtualNode = 20 which doesn’t match the physical topology.  1 “virtual nodes” aka NUMA node is presented which spans 2 “physical domains,” aka pNUMA nodes.

So searching vmware.log for ‘numa’ and ‘numaHost’ will provide these details and again a reminder to let vNUMA provide the optimal configuration when possible.