OOM -- 调优实例二(docker OOM退出)

本文探讨了Docker容器中出现OOM错误的原因,分析了JVM配置不当导致的问题,并提供了降低xmx/xmn参数以避免内存溢出的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景:

docker偶尔会出现直接OOM退出,通过jstat -gccasue xxx发现老年代持续增加,直到整个docker oom

 

排查:

dump 下来文件发现真实存活的对象并不多;

如果采用jmap -dump:live xxx时触发了FGC后,老年代会急剧减少

 

分析:

从现象显然可知:在老年代还没有触发时,整个机器都崩溃了

再排查了以下jvm的xmx和xmn发现跟 内存大小配置一致;

问题显而易见了:系统的内存总共才8g,现在jvm的xmx/xmn直接也配置8g;FGC还没有来得及触发,系统就因为内存溢出直接挂掉

 

修改方式:

降低xmx/xmn;至少要小于机器的内存大小

 

总结:

其实是很简单的问题,但是花费了不少时间去分析dump文件,不过也可见大家对于jvm配置也是有些随意,理解还没有很深刻

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值