大家有没有遇到过 cgroup 对进程 cpu 限制偶发失效的情况?

2023-03-15 22:02:25 +08:00
 zhoudaiyu
一个跑在 k8s 的 Pod ( java 的 job 类工程)在 limits 中设置了 cpu 限制为 4 ,宿主机总共 20 核,正常情况下容器业务进程 cpu 使用率在 380%-420%左右,但是不断刷 top 能偶尔看到( 100 次能有 1 次) cpu 使用率能用到 1100%左右,宿主机内核是 3.10 的,k8s 版本 1.13 。请问大家遇到过这种情况吗?
1384 次点击
所在节点    Linux
4 条回复
AlkaidHe
2023-03-16 00:10:19 +08:00
kernel 5.15 lts
cgroup v2
zhoudaiyu
2023-03-16 08:31:38 +08:00
@AlkaidHe 也遇到过这种情况?
wtfedc
2023-03-16 17:22:40 +08:00
你好!根据你提供的信息,可能存在以下原因导致 CPU 使用率异常:

CPU 限制设置过低:如果 Pod 中的 Java 应用需要处理大量的请求或者有较高的计算复杂度,那么限制到 4 核可能无法满足其正常运行的需求。建议适当增加限制值并观察是否有改善。

CPU 亲和性设置不合理:如果容器与宿主机之间存在 CPU 亲和性设置,而这些设置可能会影响容器的资源调度和分配。建议查看 Pod 及其相关的 Deployment/StatefulSet 等资源配置,确认是否设置了 CPU 亲和性。

内核版本问题:你提到宿主机内核版本是 3.10 ,这个版本较老,可能存在一些现有的性能问题。建议升级内核版本以获取更好的性能。

k8s 版本问题:你提到 k8s 版本是 1.13 ,也是比较老的版本。较新的版本可能包含更好的性能优化和稳定性改进。建议考虑升级到最新的稳定版本,以获取更好的体验。

另外,你提到在刷 top 命令时出现 CPU 使用率超过 1100%的情况,这可能是瞬态现象。建议使用其他工具(如 ps )来监控进程的 CPU 使用率,同时长期持续地监控 CPU 使用率变化,从而更好地确认问题所在。
AlkaidHe
2023-03-17 01:43:00 +08:00
@wtfedc #3 @zhoudaiyu @wtfedc 你看这个就行 相对中肯

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/924332

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX