java同时下载量过大导致崩溃_记一次生产环境因SpringBoot大文件下载导致的OOM事故...

一、事故发生

上周五下午运营人员反馈,笔者所负责的后台系统从14点以后就卡卡的,虽然页面能够正常加载,但是一直处于数据加载中,数据也提交不了,怀疑笔者的系统有BUG,当听到运营人员的反馈我的第一反应是这不可能啊,这么简单的一个后台系统,还能出事故?

9d0d9ffd7d63ae4a0da0654dbc00de11.png

二、处理流程

1. 摘除其中一台服务器用于保留现场,其他服务器先重启,保证系统可用。

2. 下载GC日志,系统dump文件用于分析

三、GC log分析

系统启动参数,JVM内存分配:-Xmx4096m -Xms4096m -Xmn2560m

观察日志可知系统每隔40S发生一次Full GC,耗时200毫秒,回收以后系统老年代占用也不大,才15M,但是新生代回收完还有2个G。

有点不可思议,竟然不是老年代塞满了数据,而是新生代塞满了数据。

初步推测是新生代数据要晋升到老年代,结果放不进去而引起的Full GC。

35d3d2a02af400ece4833628c213daf6.png

四、使用EclipseMAT对Dump文件进行分析

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值