利用java visualvm 分析内存溢出oom
1.准备一段oom的测试java代码
@RequestMapping("/triggerOOM")
public String triggerOOM() {
List<Object> list = new ArrayList<>();
int i=0;
while (true) {
oomMap.put(String.valueOf(i),new User("111"));
System.out.println("oom"+i);
i++;
if(i==1000000){
return "end";
}
}
}
2.启动visualvm

3.启动项目

此时visualvm中就可以看到这个项目了


4.运行测试代码



5.生成dump文件后从dump堆中分析oom原因




线上一般会导出来一个堆的hprof文件

此时cmd中输入jvisualvm,如果path配置好了,则会弹出窗口
选择装入


然后就和上面的分析方法一样了
1973

被折叠的 条评论
为什么被折叠?



