如何定位线上OOM

造成OOM的原因

1一次性申请太多对象。如:从数据库获取大量数据。
解决方法:更改申请对象的数量。如:做个分页。

2内存资源使用完未释放。如:太多线程建立数据库连接而未释放。
解决方法:使用线程池。

3本身资源不够,无法支持日常的使用。
jmap -heap 进程名:查看特定java进程的堆内存信息。

如何快速定位OOM

1系统已经挂掉了:提前设置如下参数,获取dump文件,再使用jvisualVM定位。
在这里插入图片描述
2系统还没有OOM:
快要OOM或者频繁FULL GC时,使用如下命令到处dump文件在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值