JVM与GC 第7章堆参数调优
第7章 堆参数调优
1. Java7堆内存分布
参数-Xms:初始内存大小
参数-Xmx:最大内存大小
2. Java8堆内存分布
3. 堆内存调优
代码:3.2 调整内存大小
发现默认的情况下分配的内存是总内存的“1 / 4”、而初始化的内存为“1 / 64”
参数调整:-Xms1024m -Xmx1024m -XX:+PrintGCDetails
3.3 运行后结果(Java7)
3.4内存调小,出现OOM
代码:
4. 内存溢出定位
4.1 内存溢出定位工具——MAT
4.2 MAT下载
官网访问地址:https://projects.eclipse.org/projects/tools.mat/downloads
安装插件
4.2 MAT使用
运行参数-XX:+HeapDumpOnOutOfMemoryError如果出现OOM时导出堆到文件
- 安装好插件后,调整参数-Xms1m -Xmx8m -XX:+HeapDumpOnOutOfMemoryError
- 刷新eclipse目录列表,打开dump文件,查看内存溢出分析报告