在 linux(CentOS)/多处理器设置中,如何将 CPU 内核分配给 NUMA 节点?
Posted
技术标签:
【中文标题】在 linux(CentOS)/多处理器设置中,如何将 CPU 内核分配给 NUMA 节点?【英文标题】:In a linux(CentOS)/multiprocessor setting, how to assign CPU cores to NUMA nodes? 【发布时间】:2013-10-07 13:35:35 【问题描述】:我正在开发一个装有 CentOS 的四核 Operton 6272 系统。我怀疑 NUMA 配置有问题。
当我运行 numactl --hardware
时,我得到:
available: 5 nodes (0,2-4,6)
node 0 cpus: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
node 0 size: 32765 MB
node 0 free: 31145 MB
node 2 cpus: 16 17 18 19 20 21 22 23
node 2 size: 16384 MB
node 2 free: 15501 MB
node 3 cpus: 24 25 26 27 28 29 30 31 40 41 42 43 44 45 46 47
node 3 size: 16384 MB
node 3 free: 14913 MB
node 4 cpus: 32 33 34 35 36 37 38 39
node 4 size: 32768 MB
node 4 free: 31551 MB
node 6 cpus: 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
node 6 size: 32752 MB
node 6 free: 31575 MB
node distances:
node 0 2 3 4 6
0: 10 16 22 16 16
2: 16 10 16 16 16
3: 22 16 10 22 22
4: 16 16 22 10 16
6: 16 16 22 16 10
有 4 个 CPU 芯片,所以有 5 个 NUMA 节点对我来说毫无意义。
谁能告诉我分配给 NUMA 节点的 CPU 内核在哪里?
【问题讨论】:
从技术上讲,每个 CPU 可能有多个内存库。 CPU 和 NUMA 节点之间的关系可能记录在 Bios 扩展中(SRAT
等)
【参考方案1】:
您是否为内存布局定义了任何内核引导选项? 您还可以从引导中发布 dmesg ,其中 numa 节点与内存范围一起列出? 另外,很高兴知道内核版本和 libnuma 版本。
【讨论】:
自从我发布这个问题以来,情况已经大大澄清了。应该写回这里。基本上,其中一根记忆棒被放入了“错误”的插槽中。解决方案是调整 BIOS 设置,将 RAM 棒放入不同的插槽,重新启动并进行实验。我无法再访问那台机器,所以我最好关闭这个问题。以上是关于在 linux(CentOS)/多处理器设置中,如何将 CPU 内核分配给 NUMA 节点?的主要内容,如果未能解决你的问题,请参考以下文章
Linux CentOS 7 设置开机运行级别为3(文本多用户级别)