如何确认NUMA?

Chr*_*lan 7 java linux numa

如何确认主机是否具有NUMA感知功能?在甲骨文的文档说,NUMA意识开始于内核2.6.19,但NUMA手册页说,它与2.6.14介绍.我想确保Java进程开始-XX:+UseNUMA实际上正在利用某些东西.

检查numa_maps,我看到我有它们:

# 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
Run Code Online (Sandbox Code Playgroud)

虽然我的内核落后于Oracle所说的内容:

# uname -sr
Linux 2.6.18-92.el5
Run Code Online (Sandbox Code Playgroud)

我目前在RHEL5.1上使用64位jdk1.6.0_29.

Phi*_*hil 8

这些/ proc文件的存在表明你的linux内核是numa感知的.不要过多地关注版本号,因为特别是对于Oracle/RHEL内核,供应商在不保持版本字符串"最新"的情况下移植/移植许多功能.

测试同一件事的其他方法:

$ 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
Run Code Online (Sandbox Code Playgroud)

  • 但这是否意味着JVM使用它?是否有任何记录表明numa正在使用? (2认同)