jvm内存溢出问题详解

4 篇文章 0 订阅
3 篇文章 0 订阅

      你好,欢迎阅读本文,希望对你有帮助

       前些天线上某系统访问异常,出现卡的现象,并且一天出现了两次。第一次排查到调用三方服务响应异常,通知三方服务负责人员排查问题。我对本系统的处理就是重启了一下,观察半小时系统一切正常,就去忙其他的了。可是……过了4个小时左右又出现卡顿,系统打不开的情况。再次打开日志,第一眼看到的还是调用三方服务超时,并且还是调用多个都超时,没有第一时间怀疑是自己系统问题,就又通知三方服务负责同事排查。再次重启下系统先解决问题。问题下图:

       可是总感觉哪不对,会不会再过几个小时又出现问题,于是打开日志仔细排查,最后竟然发现OOM………………。感觉很震惊。系统都已经运行了一年多了,怎么可能?我仔细查看了当前服务器配置和部署的服务,发现当前服务器配置4核8G内存。总共部署了4个服务,内存分配如下:

     这已经占用了6G内存,在加上系统本身占用内存,显然是不够用的了。出问题系统是第一个,堆内存分配1G,元数据分配256M。

     所以判断是当前服务分配内存不够大,在调用其他服务超时,导致本身服务的积压,堆内对象不能及时垃圾回收,进而使内存增长,产生OOM。

   问题基本找到了。现在解决办法是升级当前服务内存,就把其他两个系统访问量不大的减少了内存,分配到出问题内存。多了0.5G,到写本文的时候系统已经运行半天,还是正常,堆内存情况:


问题基本解决,不过还是调用三方服务时,设置超时时间要适当,超时或者服务有问题要快速返回。

 

谢谢阅读,服务器运行情况会继续跟踪,如果新问题会及时分享。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值