在一个项目中,突然出现了OOM故障,那么该如何让排除?研究为什么出错
- 能够看到代码第几行出错:内存快照分析工具,MAT,Jprofile
- Debug,一行行分析代码
MAT,Jprofile作用:
- 分析Dump内存文件,快速定位内存泄漏
- 获得堆中数据
- 获得大的对象
- 。。。
下载jprofiler之后,,在idea的setting-tool中出现JProfiler
package com.faq;
import java.util.Random;
//-Xms设置初始化内存大小,默认1/64
//Xmx设置最大分配内存,默认1/4
//-XX:+PrintGCDetails //打印GC垃圾回收信息
//-Xms8m -Xmx8m -XX:+HeapDumpOnOutOfMemoryError //oom dump
//其他错误可以用HeapDumpOn...下载到jprofiler查看
public class Hello {
public static void main(String[] args) {
String str ="kuangshenshuojava";
while(true){
str += str + new Random().nextInt(888888888)+new Random().nextInt(99999999);
}
}
}