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類建立太多