与串行回收器相关的参数
-XX:+UseSerialGC:在新生代和老年代中使用串行器
-XX:SurvivorRatio:设置eden区大小和survivior区大小的比例
-XX:PretenureSizeThreshold:设置大对象直接进入老年代的阈值,当对象的大小超过这个值时,将直接在老年代分配
-XX:MaxTenuringThreshold:设置对象进入老年代的年龄的最大值.每一次Minor GC后,对象的年龄加1,任何大于这个年龄的对象,一定会进入老年代与并行GC相关的参数
-XX:+UseParNewGC:在新生代使用并行收集器
-XX:+UseParallelOldGC:老年代使用并行回收收集器
-XX:ParallelGCThreads:设置用于垃圾回收的线程数.通常情况下可以和CPU的数量相等,但在CPU数量较多的情况下,设置相对较小的数值也是合理的
-XX:MaxGCPauseMillis:设置最大垃圾收集停顿时间.它的值是一个大于0的整数,收集器在工作时,会调整Java堆大小或其他参数,尽可能把停顿时间控制在MaxGCPauseMillis以内
-XX:GCTimeRatio:设置吞吐量大小,它的值是一个0~100的整数,假设GCTimeRatio的值为N,那么系统将花费不超过1/(1+n)的时间用于垃圾收集
-XX:UseAdaptiveSizePolicy:打开自适应GC策略,在这种模式下,新生代的大小,eden和survivior的比例,晋升老年代的对象年龄等参数都会自动调整,以达到在堆大小,吞吐量和停顿时间之间的平衡点与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.增量模式在JDK8中标记为废弃,并且在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
常用的GC参数
最新推荐文章于 2025-04-07 13:15:56 发布