Linux CPUInfo中NUMA架构的应用具体如何快速掌握?

更新于
2026-08-10 23:19:56
3阅读来源:SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

如果你在多核服务器上跑高性能应用。却总感觉“内存访问慢”或“进程迁移频繁”,那很可能是你没有利用NUMA架构。下面用最直白的语言拆解NUMA在Linux CPUInfo中的实战,让你能迅速上手。

1️⃣ 先把SMP和NUMA的区别想清楚

SMP是早期设计:所有CPU通过同一条总线共享同一块物理内存。因为主要数增多,总线竞争成了瓶颈。导致内存访问延迟飙升。说起来,

Linux CPUInfo中NUMA架构的应用具体如何快速掌握?

NUMA则把内存划分为若干本地 node每个CPU只能最快访问自己的本地内存。跨 node 的访问要慢一些。换个角度把热点数据放到它使用的 CPU 所在的 node 上,就是打败总线瓶颈的关键。

Linux CPUInfo中NUMA架构的应用具体如何快速掌握?

2️⃣ Linux 对 NUMA 的抽象与工具

  • /proc/cpuinfo – 查看 CPU 与其对应的 node 信息。
  • /sys/devices/system/node/ – 目录里列出每个 node 的 CPU、内存等细节。
  • numactl – 绑定进程到指定 CPU / 内存节点;还能检查当前节点分布,老实说,
  • /proc/sys/kernel/numa_balancing/proc/sys/kernel/numa_balancing_topology_changes,等 sysctl 参数控制自动迁移策略。
阅读全文
标签:Linux

如果你在多核服务器上跑高性能应用。却总感觉“内存访问慢”或“进程迁移频繁”,那很可能是你没有利用NUMA架构。下面用最直白的语言拆解NUMA在Linux CPUInfo中的实战,让你能迅速上手。

1️⃣ 先把SMP和NUMA的区别想清楚

SMP是早期设计:所有CPU通过同一条总线共享同一块物理内存。因为主要数增多,总线竞争成了瓶颈。导致内存访问延迟飙升。说起来,

Linux CPUInfo中NUMA架构的应用具体如何快速掌握?

NUMA则把内存划分为若干本地 node每个CPU只能最快访问自己的本地内存。跨 node 的访问要慢一些。换个角度把热点数据放到它使用的 CPU 所在的 node 上,就是打败总线瓶颈的关键。

Linux CPUInfo中NUMA架构的应用具体如何快速掌握?

2️⃣ Linux 对 NUMA 的抽象与工具

  • /proc/cpuinfo – 查看 CPU 与其对应的 node 信息。
  • /sys/devices/system/node/ – 目录里列出每个 node 的 CPU、内存等细节。
  • numactl – 绑定进程到指定 CPU / 内存节点;还能检查当前节点分布,老实说,
  • /proc/sys/kernel/numa_balancing/proc/sys/kernel/numa_balancing_topology_changes,等 sysctl 参数控制自动迁移策略。
阅读全文
标签:Linux