一、MAT工具
前提:没有下载eclipse,java版本1.8
下载网址:Eclipse Memory Analyzer Open Source Project | The Eclipse Foundation
下载的版本是:1.9.1
下载后解压,打开
二、如何造成OOM
public class Test {
public static void main(String[] args) {
String str = "dededddddddddddddddddddddd";
while (true){
str+=str+"dedddddddddddddddddddddddddddddddddddddddddddddddddd";
}
}
}
在VM options设置:
-XX:+UseParNewGC
-XX:+UseConcMarkSweepGC
-Xms10m
-Xmx10m
-XX:+PrintGCDetails
-Xloggc:gc.log
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=./
最后hprof文件会生成在项目的父文件夹里
三、如何利用MAT分析hprof文件
File->Open Heap Dump->打开刚刚找到的hprof文件