How to check if NUMA is enabled
To determine if the server is a NUMA-based system with NUMA enabled, run the following command as root on the database server:
# numactl -H | grep available available: 8 nodes (0-7)
– or –
# numactl -H | grep available available: 2 nodes (0-1)
If the number of available nodes is “2 nodes (0-1)” or “8 nodes (0-7)” then NUMA is enabled. If the number of available nodes is “1 nodes (0)” then NUMA is not enabled.
How to disable Numa on Virtual Machine
vNUMA removes the transparency between the VM and the OS and presents the NUMA architecture directly to the VM’s operating system. It worth mentioning that vNUMA also known as wide NUMA in the industry. This needed downtime.
# vi /etc/xen/xend-config.sxp # Enable or disable HVM guests seeing an vNUMA topology by default. (vnuma 0)
I have disabled vNUMA ( indicated by value 0), if the value is 1 that means enabled (space is there for (vnuma 0)).
Restart the xend service after the changes.
# /etc/init.d/xend restart
We need to also restart the virtual machines for the changes to take effect:
# xm stop 0004fb0000060000aa3c75119ef2e544 # xm start 0004fb0000060000aa3c75119ef2e544
Before activity
# numactl --hardware available: 2 nodes (0-1) ===> If the number of available nodes is "2 nodes (0-1)" or "8 nodes (0-7)" then NUMA is enabled. If the number of available nodes is "1 nodes (0)" then NUMA is not enabled. node 0 cpus: 0 node 0 size: 9997 MB node 0 free: 9879 MB node 1 cpus: 1 node 1 size: 10078 MB node 1 free: 10019 MB node distances: node 0 1 0: 10 21 1: 21 10
After reboot
# numactl --hardware available: 1 nodes (0) node 0 cpus: 0 1 node 0 size: 20076 MB node 0 free: 19897 MB node distances: node 0 0: 10