--- title: "NUMA" type: concept tags: [sre, performance, cloud, containers, cpu] last_updated: 2026-04-20 --- # NUMA (Non-Uniform Memory Access) NUMA(非一致性内存访问)是一种多处理器计算机架构中的内存访问模式,对现代容器化部署有重要影响。 ## Definition 在 NUMA 架构中,CPU 和内存被组织成多个节点(nodes)。每个 CPU 访问本地内存节点的速度远快于访问远程内存节点的速度,因此称为"非一致性"内存访问。 ## Key Concepts - **NUMA Node**:由一个或多个 CPU 和与其相连的内存组成 - **Local Memory Access**:CPU 访问本节点的内存,延迟低、带宽高 - **Remote Memory Access**:CPU 访问其他节点的内存,延迟高、带宽低 - **CPU Pinning**:将进程/容器固定到特定 CPU,以优化内存局部性 ## Why SREs Should Care Netflix 在现代 CPU 上运行容器时发现: - 运行 100 个容器需要超过 **2 万次挂载操作(mounts)** - NUMA 问题是影响容器调度性能的关键因素 - SRE 必须关注**整个技术栈**,包括硬件层面的 NUMA 拓扑 ## Implications for Container Scheduling 1. **NUMA-Aware Scheduling**:调度器应感知 NUMA 拓扑,避免跨节点内存访问 2. **CPU Pinning**:对延迟敏感的应用(如 Netflix 媒体处理)需要将容器固定到特定 CPU 3. **内存局部性优化**:减少跨 NUMA 节点的内存访问可显著降低延迟 ## Related Concepts - [[Containers]] - [[Kubernetes]] - [[Performance-Benchmarking]] - [[Cloud-Native]] ## Source - SRE Weekly Issue #513 — [[sre-weekly-issue-513]] (Netflix Mount Mayhem case study)