内存溢出排查

内存溢出排查

监控是通过grafana来看的

内存飙升

nohup java -Xms200m -Xmx200m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/usr/jdk/dump -jar integation-mybatis-0.0.1-SNAPSHOT.jar > /usr/jdk/error.log & 

-Xms 初始堆大小 默认是物理内存的1/64
-Xmx 最大堆大小 默认是物理内存的1/4
-XX:+HeapDumpOnOutOfMemoryError 参数表示当JVM发生OOM时,自动生成DUMP文件。
-XX:HeapDumpPath=/usr/jdk/dump 表示生成DUMP文件的路径,也可以指定文件名称。

内存升高后首先查看error.log,里面会有OutOfMemoryError的日志
然后就生成了dump文件
然后就可以下载到本地,通过mat文件分析

在这里插入图片描述

内存升高

区别就在于不会主动生成dump文件,需要我们来手动生成文件

Jps 查看应用进程号
jmap获取dump文件

jmap -dump:format=hprof,file=/usr/jdk/dumpfile.hprof [pid]
http://ip:prot/actuator/heapdump

挑选一个业务允许的时间来下载和生成dump,因为需要占用系统cpu

然后还是下载dump文件到本地通过mat软件分析

猜你喜欢

转载自blog.csdn.net/qq13933506749/article/details/129946365
今日推荐