文章目录
1 概述
用于开发和调试jvm
-
Boolean类型格式
-XX:- 表示禁用option属性
-XX:+ 表示启用option属性 -
非boolean类型格式
数值型格式-XX:<option>=<number>
非数值型格式-XX:<name>=<string>
2 常用的参数选项
2.1 打印所有xx选项的默认值
-XX:+PrintFlagsInitial
2.2 打印出xx选项在运行生效的值
-XX:+PrintFlagsFinal
2.3 堆内存的参数设置
2.3.1 初始化堆大小
-Xms
2.3.2 设置堆最大容量
-Xmx
2.3.3 设置年轻代大小(初始化与最大值)
-Xmn
2.3.4 设置年轻代初始值
-XX:NewSize=值
2.3.5 设置年轻代最大值
-XX:MaxNewSize=
2.3.6 设置年轻代eden区与survivor区的比值
-XX:SurvivorRatio=8 默认为8
2.3.7 自动选择各区大小比例
-XX:+UseAdaptiveSizePolicy
2.3.8 设置老年代与年轻代的比值
-XX:NewRation=2 默认比例为2
2.3.9 设置存活对象的年龄
-XX:MaxTenuringThreshold=15 默认值是15
2.4 设置栈的参数
2.4.1 设置栈的大小
-Xss<size>
2.5 设置元空间的大小
2.5.1 初始化空间
-XX:MetaspaceSize=
2.5.2 最大空间
-XX:MaxMetaspaceSize=
2.6 oom相关选项
2.6.1 出现oom时,将heap转存
-XX:+HeapDumpOnOutOfMemoryError
2.6.2 出现fullgc之前,将heap转存
-XX:+HeapDumpBeforeFullGC
2.6.3 指定heap存储的文件路径
-XX:HeapDumpPath=<path>
2.6.4 指定一个脚本文件,发生oom时,执行脚本
-XX:OnOutOfMemoryError
2.7 垃圾回收器相关参数
2.7.1 serial 垃圾收集器(串行)
-XX:+UseSerialGC
2.7.2 parnew回收器(并行)
-XX:+UseParNewGC
限制线程数量,默认是与cpu数据相同
-XX:ParallelGCThreads=
2.7.3 parallel 回收器(jdk8 默认开启)
- 使用
-XX:+UseParallelGC
这两个参数开启一个,另一个也会被开启
-XX:+UseParallelOldGC
- 设置年轻代并行收集器线程数
-XX:ParallelGCThreads
- 设置垃圾收集器最大停顿时间(stw)
-XX:MaxGCPauseMillis
- 设置垃圾收集时间占总时间的比例
-XX:GCTimeRatio
2.7.4 cms回收器
- 手动指定使用cms
-XX:+UseConcMarkSweepGC
-设置堆内存使用的阈值
-XX:CMSlnitiatingOccupanyFraction 默认92%
2.7.5 g1垃圾回收器
- 使用g1收集器
-XX:+UseG1GC
- 设置每个region的大小
-XX:G1HeapRegionSize 值是2的幂,范围是1-32mb
- 设置stw时GC线程数的值(最多为8)
-XX:ParallelGCThread
- 设置并发标记的线程数
-XX:ConGCThreads
2.8 gc日志 常用参数
- 打印简化的gc日志
-XX:+PrintGC
- 在发生垃圾回收时,打印内存回收详细日志
-XX:+PrintGCDetails
- 输出gc发生时的时间戳
-XX:+PrintGCTimeStamps
日期形式
-XX:+PrintGCDateStamps
- 打印前后gc的堆信息
-XX:+PrintHeaoAtGC
- 把gc日志写入到文件中
-Xloggc:<file>