我在 serverfault 中问过这个问题,但一周没有回复。
我有一个双 Xeon E5522 2.26Ghz CPU(一块主板上有两个四核 CPU)。据我所知,这是一个 NUMA 架构。这台机器正在运行带有 3.2 内核的 ubuntu 服务器 12.04。
fdyn@fdyn-0:~/dev/numa_test$ uname -a
Linux fdyn-0 3.2.0-23-generic #36-Ubuntu SMP Tue Apr 10 20:39:51 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
内核应该是 numa-aware
fdyn@fdyn-0:~$ grep NUMA=y /boot/config-3.2.0-23-generic
CONFIG_NUMA=y
CONFIG_AMD_NUMA=y
CONFIG_X86_64_ACPI_NUMA=y
CONFIG_ACPI_NUMA=y
问题是“numactl”无法识别这两个节点,它将它视为一台大型 SMP 机器。
~$ numactl --hardware
available: 1 nodes (0)
node 0 cpus: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
node 0 size: 32756 MB
node 0 free: 31036 MB
node distances:
node 0
0: 10
我需要整个环境都支持 NUMA,这样我就可以编写一个 numa 应用程序。¿ 忽略这一点是否安全?¿ 可以做些什么让 numactl 识别 2 个节点?