堆溢出分析
-XX:+HeapDumpOnOutOfMemoryError
在溢出时,导出整个堆信息
-XX:HeapDumpPath
设置导出的存放路径
内存分析工具
Memory Analyzer
package com.bjsxt.base001;
import java.util.Vector;
public class Test03 {
public static void main(String[] args) {
//-Xms2m -Xmx2m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=d:/Test03.dump
//堆内存溢出
Vector v = new Vector();
for(int i=0; i < 5; i ++){
v.add(new Byte[1*1024*1024]);
}
}
}
程序分析
每次分配1M,循环5次
总共需要5M内存
配置参数
-Xms2m -Xmx2m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=d:/Test03.dump
运行
抛出OOM异常
并且,把堆信息导出到D盘下面dump文件中
可以通过内存分析工具,来分析该文件