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

相关文章
相关标签/搜索