专栏名称: dbaplus社群
围绕Database、BigData、AlOps的企业级专业社群。资深大咖、技术干货,每天精品原创文章推送,每周线上技术分享,每月线下技术沙龙,每季度XCOPS\x26amp;DAMS行业大会。
TodayRss-海外RSS稳定源
目录
今天看啥  ›  专栏  ›  dbaplus社群

惊魂72h!K8s升级后,Java应用集体“自杀”,竟因为这个“隐形杀手”……

dbaplus社群  · 公众号  · 科技创业 科技自媒体  · 2025-08-19 07:15
    

主要观点总结

文章主要讲述了一次K8s集群升级后部分Java应用出现OOMKilled问题,排查后发现是由于JVM对资源认知的偏差,根源在于新操作系统Ubuntu 22.04默认启用了cgroup v2导致的兼容性问题。文章提供了终极解决方案和结语。

关键观点总结

关键观点1: 部分Java应用在K8s集群升级后出现OOMKilled问题。

升级了更高版本的K8s和操作系统Ubuntu 22.04后,部分Java应用遭遇OOMKilled问题,内存限制从2Gi加到8Gi才勉强恢复,但资源消耗异常飙升,还有神秘的磁盘写入问题。

关键观点2: JVM对资源的认知偏差是问题的关键。

JVM完全无视了Pod的资源限制,以为自己运行在一个拥有海量CPU和内存的主机上,因此分配了过多的资源,导致OOMKilled。

关键观点3: cgroup v2的兼容性问题。

JVM无法正确识别cgroup v2的资源限制是因为许多旧版或未更新的Java运行时和依赖库没有适应cgroup v2的变化。

关键观点4: 提供了两种解决方案。

方案一是升级Java运行时和关键依赖库以支持cgroup v2;方案二是暂时回退到cgroup v1以保证兼容性。同时讨论了操作系统选型和优化的注意事项。


免责声明:本文内容摘要由平台算法生成,仅为信息导航参考,不代表原文立场或观点。 原文内容版权归原作者所有,如您为原作者并希望删除该摘要或链接,请通过 【版权申诉通道】联系我们处理。

原文地址:访问原文地址
总结与预览地址:访问总结与预览
文章地址: 访问文章快照