一次线上OOM的定位记录

       虽然对于oom尤其是线上oom这样的问题大家都唯恐避之不及,但是既然遇到了,也不妨当做是提升自己的一次机会。

背景:生产应用从上午开始陆续开始报出cms老年代的使用率超过95%的告警

         从图上可以看到在短短的一个钟内老年代频繁地进行gc,内存高点一直在100%左右徘徊。

定位过程:

       1、第一反应是先咨询了运维同事,发现监控平台上并没有集成内存分析的工具,需要自行dump分析。

       2、dump命令通过jmap工具来执行,需要提供当前java进程的pid,于是先登录到虚拟机,通过jps命令找到当前服务器的java进程号。然后通过命令 jmap -dump:format=b,file=filename pid 来对当前java进程执行内存dump

       3、dump操作对于线上oom的处理来说只是分析问题的第一步,拿到dump文件后需要考虑如何进行内存分析,这里当时尝试了两个软件,java本身自带了一个jvisualvm工具,这个工具除了能对jvm运行情况做实时监控以外也能对dump下来的文件进行分析。还有另一个是比较有名的外部软件 mat&#

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值