目前我正在处理一个与 NUMA 相关的服务器的任务。服务器上运行的操作系统是 Ubuntu 14.04.1 LTS。该服务器有 4 个 16 个 CPU 的节点:Intel(R) Xeon(R) CPU X7350 @ 2.93GHz,即每个节点应该有 4 个 CPU。
我在操作系统中安装了 NUMA API。然后我使用 $ numactl --hardware 进行查找
可用:1 个节点 (0)
节点 0 CPU:0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
节点 0 大小:128938 MB
节点 0 可用:126845 MB
节点距离:
节点 0
0:10
从结果中可以看出,仅检测到一个具有 16 个 CPU 的节点。
我在网上查找,但找不到解决方案。我已经尝试在 BIOS 中查找,从Linux Opteron 系统似乎是 UMA,但应该是 NUMA,但是我的 BIOS 中没有节点交错选项。那么我该怎么做才能解决在我的服务器中启用 NUMA 的问题呢?
答案1
我关于在裸机硬件上使用 Ubuntu 的标准免责声明适用于此...它未得到供应商的认可或支持,并且将在未来给您带来更多痛苦...
但是,DL580 G5 是一种老架构。没有 NUMA 功能。直到 DL580 G7 系列发布后,该平台才具备此功能。
[root@Coast ~]# dmidecode | grep -i proliant
Product Name: ProLiant DL580 G7
Family: ProLiant
# numactl --hardware
available: 4 nodes (0-3)
node 0 size: 16129 MB
node 0 free: 5709 MB
node 1 size: 16160 MB
node 1 free: 9162 MB
node 2 size: 16160 MB
node 2 free: 11273 MB
node 3 size: 16160 MB
node 3 free: 12925 MB
node distances:
node 0 1 2 3
0: 10 21 21 21
1: 21 10 21 21
2: 21 21 10 21
3: 21 21 21 10