How to confirm NUMA?

Christopher Neylan picture Christopher Neylan · Apr 11, 2012 · Viewed 7.6k times · Source

How can I confirm that a host is NUMA-aware? The Oracle doc says that NUMA-awareness starts at kernel 2.6.19, but the NUMA man page says that it was introduced with 2.6.14. I'd like to be sure that a Java process started with -XX:+UseNUMA is actually taking advantage of something.

Checking for the numa_maps, I see that I have them:

# find /proc -name numa_maps
/proc/1/task/1/numa_maps
/proc/1/numa_maps
/proc/2/task/2/numa_maps
/proc/2/numa_maps
/proc/3/task/3/numa_maps

Though my kernel is behind what Oracle states:

# uname -sr
Linux 2.6.18-92.el5

I'm currently using 64-bit jdk1.6.0_29 on RHEL5.1.

Answer

PhilR picture PhilR · Apr 11, 2012

The presence of those /proc files indicates that your linux kernel is numa-aware. Don't concern yourself too much comparing version numbers, as, particularly with Oracle / RHEL kernels, the vendors port/backport many features without keeping the version string "up to date".

Other ways of testing the same thing:

$ grep NUMA=y /boot/config-`uname -r`
CONFIG_NUMA=y
CONFIG_K8_NUMA=y
CONFIG_X86_64_ACPI_NUMA=y
CONFIG_ACPI_NUMA=y

$ numactl --hardware
available: 2 nodes (0-1)
node 0 size: 18156 MB
node 0 free: 9053 MB
node 1 size: 18180 MB
node 1 free: 6853 MB
node distances:
node   0   1
  0:  10  20
  1:  20  10