Java本地模拟内存溢出及生成dump文件


  • 本地模拟内存溢出
 1 package com.cnhis.test.dump;  
 2   
 3 import java.util.ArrayList;  
 4 import java.util.List;  
 5   
 6 /** 
 7  * OutOfMemoryError内存溢出模拟测试 
 8  */  
 9 public class OOMTest {  
10   
11     public static void main(String[] args) {  
12         List<String> list = new ArrayList<>();  
13         while (true){  
14             list.add("test");  
15         }  
16     }  
17 }  
  •  idea设置VM参数

第一步:Edit Configurations

 

 

 

 第二步:设置参数

 第三步:dump文件生成,可以使用jstack、jmap、MAT等工具分析

 

 

 注意:上面指定的dump输出文件夹“D:\dumpTest”必须存在,idea不会去创建

  • 参数说明

-Xms:表示初始化堆内存

-Xmx:表示最大堆内存

-XX:+HeapDumpOnOutOfMemoryError 表示jvm发生oom异常时,自动生成dump文件

-XX:HeapDumpPath= 表示生成dump文件的存放目录

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM