NUMA 跨节点访问导致k8s节点pod CPU使用率异常高问题

k8s集群有5个节点 其中一个节点的配置是128c 128G 其他的配置为128c 512G ,硬件型号和配置都是一样的 现在我一个deployment有5个pod,只有在这个内存比较低的节点上,cpu使用率要高特别多

排除了内核参数、cgroup等相关配置之后,问了一下chatgpt,建议我们排查一下NUMA。

 

在128G内存的节点上执行numactl --hardware命令,结果如图

974dbc708914edb8e7d005d042607223

 

 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内存解决了。

posted @ 2025-08-27 16:33  天上白玉京·  阅读(22)  评论(0)    收藏  举报