生成堆转储文件
1、新建项目,设置Eclispe Java堆的大小:
(1)限制Java堆大小:将最小值 -Xms参数与最大值-Xmx参数设置一样可避免堆的扩展
-Xmx20m -Xms20m -Xmn10m -Xss1m
(2)通过参数:-XX:+HeapDumpOnOutOfMemoryError,可以让VM在出现内存溢出异常时Dump当前内存堆转储快照
-Xmx20m -Xms20m -Xmn10m -Xss1m -XX:+HeapDumpOnOutOfMemoryError
模拟堆溢出代码:
public class HeapOOM { static class OOMObject{ } public static void main(String[] args) { List<OOMObject> list = new ArrayList<>(); for (int i = 0; i >= 0 ; i++) { list.add(new OOMObject()); } } }
控制台:
本地转储文件
查看Memory Analysis生成分析报告
查看详细信息:
时间: 2024-11-10 07:55:27