NUMA stands for non uniform memory access.In this architecture, memory access time depends on the memory location relative to a processor.
Some workloads and virtualization setups perform more predictably when NUMA is turned off.
This guide explains how to disable NUMA on CentOS and RHEL versions 6 and 7.
Prerequisites
Before you begin:
- Root or sudo access
- Comfort editing system configuration files
- A running CentOS/RHEL 6 or 7 server
1. Verify NUMA Status
First check if NUMA is enabled:
numactl --show
If you see output showing multiple memory nodes, NUMA is active.
You can also list memory nodes:
ls /sys/devices/system/node
If you see directories like node0, node1, NUMA is enabled.
2. Disable NUMA on CentOS / RHEL 6
On version 6 you edit the legacy GRUB configuration:
sudo vi /boot/grub/grub.conf
Find the line that begins with kernel under the default boot entry.
At the end of that line, add numa=off.
kernel /vmlinuz-2.6.32-754.el6.x86_64 ro root=/dev/mapper/centos-root rhgb quiet numa=off
Save the file and reboot:
sudo reboot
3. Disable NUMA on CentOS / RHEL 7
Version 7 uses GRUB2:
sudo vi /etc/default/grub
Locate the line starting with GRUB_CMDLINE_LINUX and append numa=off inside the quotes.
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rhgb quiet numa=off"
Regenerate the GRUB configuration:
# For BIOS systems
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
# For UEFI systems
sudo grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
Reboot the server:
sudo reboot
4. Verify Changes
After reboot, confirm NUMA is disabled:
numactl --show
You should see output indicating a single memory node.
You can also check kernel messages:
dmesg | grep -i numa
Look for a line such as NUMA: Disabled.
Conclusion
You have successfully disabled NUMA on your CentOS or RHEL 6 or 7 system.
This change can improve consistency for certain applications and virtualization setups.
