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