2、體驗OutOfMemoryError,內存溢出

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

相關文章
相關標籤/搜索