1.写一段代码,一直建立对象放入集合php
@SpringBootApplication public class DemoJvmApplication { public static void main(String[] args) { SpringApplication.run(DemoJvmApplication.class, args); List<Demo> demos = new ArrayList<>(); while (true){ demos.add(new Demo()); } } }
2.配置JVM参数,-Xms20m -Xmx200m -XX:+HeapDumpOnOutOfMemoryErrorjava
3.运行代码macos
4.下载Dump文件分析工具、 Memory Analyzer app
http://www.eclipse.org/mat/downloads.phpeclipse
注:Mac运行可能会报错工具
/Users/Messi-Ye/.eclipse/2001880060_macosx_cocoa_x86_64/configuration/1605670382125.logspa
须要使用 -data指定一个位置.日志
使用open命令打开code
open -a mat.app --args -data ~/workplace/heapdump/对象
5.日志分析,打开文件
查看到内存占用状况,分析缘由,Demo类建立太多