下载,接受协议下一步下一步,最后选择与IDEA集成OK
ej-technologies - Java APM, Java Profiler, Java Installer Builder
IDEA配置参数:
# F:\study\spring-test\dump 为dump文件保存路径
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=F:\study\spring-test\dump
package com.dj.springtest.demo;
import java.util.ArrayList;
import java.util.List;
/**
* User: ldj
* Date: 2023/11/7
* Time: 23:09
* Description: No Description
*/
public class OomDemo {
public static void main(String[] args) {
List<byte[]> list = new ArrayList<>();
while (true) {
list.add(new byte[1024 * 1024]);
}
}
}
2. 除了Jprofiler还有一个好用的查看dump文件的软件是 VisualVM 而且IDEA还有插件
工作中我们可能还需要从服务器导出dump文件
jmap -dump:format=b,file=/xxxx/yyyyy20231108ldj.hprof 进程id
后续补充:
#查看进程号
jps
#动态查看jvm内存信息
jstat -gc 进程号 1000 10
出现OOM检查方向:
1. 检查是否永久代空间或者元空间设置过小
2. 通过可视化工具检查,检查代码中是否存在大量的反射操作生成代理类
3. 是否存在死循环
4.是否存在大量连接没有关闭