串行回收器参数
-XX:+UseSerialGC
: 在新生代和年老代使用串行收集器
-XX:SurvivorRatio
: 设置eden
和survivor
区大小的比例
-XX:PretenureSizeThreshold
: 设置大对象直接进入老年代的阈值.当对象的大小,超过这个值时,直接在年老代分配.
-XX:MaxTenuringThreshold
: 设置对象进入老年代的年龄最大值.每一次Minor GC
后,对象年龄就会加1, 任何大于该值的对象, 就一定会进入老年代.
并行GC相关参数
-XX:+UseParNewGC
: 在新生代使用并行收集器
-XX:+UseParallelOldGC
: 老年代使用并行收集器
-XX:ParallelGCThreads
: 垃圾回收的线程数.一般情况下和CPU数量相等.
-XX:MaxGCPauseMillis
: 最大垃圾收集停顿时间. 它的值是一个大于0的整数.
-XX:GCTimeRatio
: 设置吞吐量大小. 它的值是一个0到100之间的整数.假设为N,则系统将花费不超过1/(1+N)
的时间用于垃圾收集.
-XX:+UseAdaptiveSizePolicy
:打开自适应GC策略.它会自动调整新生代大小,eden, survivor的比例,晋升年老对象年龄等来达到平衡点.
与CMS回收器相关参数
-XX:+UseConcMarkSweepGC
:新生代使用并行收集器,老年代使用CMS+串行收集器.
-XX:ParallelCMSThreads
:设置CMS线程数量
-XX:CMSInitiatingOccupancyFraction
:设置CMS在老年代空间被使用多少后触发.默认为68%.
-XX:+UseCMSCompactAtFullCollection
:设置CMS收集器在完成垃圾收集后是否进行一次内存碎片整理.
-XX:CMSFullGCsBeforeCompaction
:设定进行多少次CMS垃圾回收后, 进行一次内存压缩.
-XX:+CMSClassUnloadingEnabled
:允许对类元数据区进行回收
-XX:CMSInitiatingPermOccupancyFraction
:当永久区占用率达到这一百分比时,启动CMS回收.(前提是-XX:+CMSClassUnloadingEnabled
启用了)
-XX:UseCMSInitiatingOccupancyOnly
:表示只在到达阈值的时候才进行CMS回收.
-XX:+CMSIncrementalMode
:使用增量模式.比较适合单CPU. 在JDK 8中标记为废弃, 并且将在JDK 9中彻底移除.
与G1回收器相关参数
-XX:+UseG1GC
:启用G1回收器
-XX:MaxGCPauseMillis
: 最大垃圾收集停顿时间
-XX:GCPauseIntervalMillis
: 设置停顿间隔时间
TLAB 相关
-XX:+UseTLAB
:开启TLAB分配
-XX:+PrintTLAB
: 打印TLAB相关分配信息
-XX:TLABSize
: 设置TLAB大小
-XX:+ResizeTLAB
: 自动调整TLAB大小
其他参数
-XX:+DisableExplicitGC
:禁用显式调用GC
-XX:+ExplicitGCInvokesConcurrent
:使用并发方式处理显式GC
Author
emacsist
LastMod
2015-06-25
License
CC BY-NC-ND 4.0