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文件,查看内存溢出分析报告