OOM内存溢出排查

-1

1,检查机器上面服务的JVM参数配置

XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=/data/jvmLog/mdm/heapdump_pid%p.hprof 用来自动生成堆内存转储文件的。
参数说明:

  1. -XX:+HeapDumpOnOutOfMemoryError
    作用:当发生OutOfMemoryError时,自动生成堆内存转储文件
    触发条件:Java堆内存不足,抛出OutOfMemoryError异常
    默认值:false(不自动生成)
  2. -XX:HeapDumpPath=/data/jvmLog/mdm/heapdump_pid%p.hprof
    作用:指定堆转储文件的保存路径和文件名
    路径:/data/jvmLog/mdm/ 目录
    文件名:heapdump_pid%p.hprof(%p会被替换为进程ID)
    在这里插入图片描述

2,进入机器使用命令查看服务进程

ps aux | grep java
在这里插入图片描述

上面的24601是mdm服务的进程id,下面31530是ESS服务的进程id。

3,GC日志目录 :

/data/jvmLog/mdm/
查看gc.log日志

gc日志记录了youngGC和fullGC
在这里插入图片描述

内存溢出会生成hprof文件,
在这里插入图片描述

下载文件使用sz命令:sz -e 文件名
文件太大使用gzip压缩一下
在这里插入图片描述

使用sz命令下载压缩文件到本地:
在这里插入图片描述

解压后用idea打开该文件:
在这里插入图片描述

打开后长这样:
在这里插入图片描述

手动生成堆转储(这会触发GC并生成.hprof文件)

jmap -dump:format=b,file=/data/jvmLog/ess/test_heapdump.hprof
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值