JProfiler和JavaVisualVM分析Heap dump文件

JProfiler和JavaVisualVM分析Heap dump文件

下面将介绍利用常见的两个工具分析Heap dump文件。

接下来分析的heap dump文件,都是由于下面的代码引起的内存泄漏。

List temp = new ArrayList<>();
 for(int i=0;i>=0;i++){
     temp.add(i);
 }

1、JProfiler分析heap dump

JProfiler打开->“Open Snapshot”—>找到dump文件—>查看“Heap walker”。
JProfiler和JavaVisualVM分析Heap dump文件_第1张图片
右击,选择这一个References。
JProfiler和JavaVisualVM分析Heap dump文件_第2张图片
这个基本能看出来是ArrayList引起的问题。

2、Java VisualVM分析heap dump

文件—>装入,选择heap dump文件
JProfiler和JavaVisualVM分析Heap dump文件_第3张图片

点击“ 导致 OutOfMemoryError 异常错误的线程”,会跳转到异常部分
JProfiler和JavaVisualVM分析Heap dump文件_第4张图片
很清晰直观定位到哪个方法。

你可能感兴趣的:(JProfiler,J,VisualVm)