在 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系统邮件报警核心:多条件判断备份系统文件

Linux CentOS 7 设置开机运行级别为3(文本多用户级别)

在VMware14 虚拟机中安装Linux CentOS 7系统并进行设置使之能连网(内附安装包)

centos 怎么更改用户权限

VMware与Linux安装