NUMA 跨节点访问导致k8s节点pod CPU使用率异常高问题
k8s集群有5个节点 其中一个节点的配置是128c 128G 其他的配置为128c 512G ,硬件型号和配置都是一样的 现在我一个deployment有5个pod,只有在这个内存比较低的节点上,cpu使用率要高特别多
排除了内核参数、cgroup等相关配置之后,问了一下chatgpt,建议我们排查一下NUMA。
在128G内存的节点上执行numactl --hardware命令,结果如图

NUMA 节点分布情况
-
这台机器显示 8 个 NUMA node (0–7),但是内存分布极不均衡:
-
node1: 64071 MB + node5: 63444 MB → 两个 node 一共大约 128 GB
-
其他 node (0,2,3,4,6,7): 0 MB
-
-
但是 CPU 核心是 128c,被均匀分布到了 8 个 NUMA node 上。
-
比如:node0 有 16 个 CPU,但 没有内存
-
node1 有 16 个 CPU + 64G 内存
-
node2 有 16 个 CPU,但 没有内存
-
这台 128G 节点的拓扑是 大部分 NUMA node 没有本地内存,所有内存只集中在 node1 和 node5。
联系硬件那边的同事,查看这台机器只有两条内存,显然是有问题的,因为正常应该要插4条内存条才能保证分配。和机房那边沟通,扩容要走流程申请,找了一个周末将2两条64G内存换成4条32G内存解决了。

浙公网安备 33010602011771号