美文网首页
深入JVM-垃圾收集器常用的GC参数

深入JVM-垃圾收集器常用的GC参数

作者: 端木轩 | 来源:发表于2016-12-11 21:30 被阅读129次

1.与串行回收器相关的参数

  • -XX:+UseSerialGC:在新生代和老年代使用串行收集器
  • -XX:SurvivorRatio:设置eden区大小和survivor区大小的比例
  • -XX:PretenureSizeThreshold:设置大对象直接进入老年代的阈值。当对象的大小超过这个值时,将直接在老年代分配。
  • -XX:MaxTenuringThreshold:设置对象进入老年代的年龄的最大值。每一次Minor GC后,对象年龄就加1。任何大于这个年龄的对象,一定会进入老年代。

2.与并行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和survivor的比例、晋升老年代的对象年龄等参数会被自动调整,已达到在堆大小、吞吐量和停顿时间之间的平衡点。

3.与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:UseCMSInitiatingOccupancyOnlyn:表示只在到达阈值的时候才进行CMS回收
  • -XX:+CMSIncrementalMode:使用增量模式,比较适合单CPU。增量模式在JDK 8中标记为废弃,并将在JDK 9中彻底移除。

4.与G1回收期相关的参数

  • -XX:+UseG1GC:使用G1回收器
  • -XX:MaxGCPauseMillis:设置最大垃圾收集停顿时间
  • -XX:GCPauseIntervalMillis:设置停顿间隔时间

5.TLAB相关

  • -XX:+UseTLAB:开启TLAB分配
  • -XX:+PrintTLAB:打印TLAB相关分配信息
  • -XX:TLABSize:设置TLAB大小
  • -XX:+ResizeTLAB:自动调整TLAB大小

6.其他参数

  • -XX:+DisableExplicitGC:禁用显式GC
  • -XX:+ExplicitGCInvokesConcurrent:使用并发方式处理显式GC

相关文章

  • 深入JVM-垃圾收集器常用的GC参数

    1.与串行回收器相关的参数 -XX:+UseSerialGC:在新生代和老年代使用串行收集器 -XX:Surviv...

  • 6.HotSpot中的GC收集器简介

    目录 概述 新生代GC 老年代GC java789默认GC搭配 垃圾收集器相关参数总结 概述 整理归纳HotSpo...

  • JVM垃圾收集器

    垃圾收集器的理论依据是垃圾回收算法,这里是指堆内存的垃圾收集器。 垃圾收集器的两大指标: GC时间:GC时会暂停其...

  • JVM之ParNew和CMS日志分析

    在两年前的文章 JVM 学习——垃圾收集器与内存分配策略中,已经对 GC 算法的原理以及常用的垃圾收集器做了相应的...

  • 4.JVM系列-垃圾收集器总结

    目录 一、背景 二、垃圾收集器比较 三、常用JVM参数 四、垃圾收集器对比 五、关系图 一、背景 前面的章...

  • Java垃圾收集器参数总结

    JDK1.7 版本中的各种垃圾收集器的常用参数 摘自 《深入理解 Java 虚拟机》第二版 P90

  • GC - 垃圾收集器参数

    参数描述UseSerialGCClient 模式下的默认值,打开后,使用 Serial + Serial Old ...

  • GC垃圾回收机制

    GC算法 垃圾收集器 (标记-清除,复制,压缩,gc垃圾收集需要判断是否覆盖finalize方法?) 概述 垃圾收...

  • 读书笔记---gc收集器

    GC垃圾收集器整理 收集器种类有下面几种: serial / serial old 收集器 parnew收集器 ...

  • 关于垃圾回收

    Runtime.getRuntime().gc() 是告诉垃圾收集器打算进行垃圾收集,而垃圾收集器进不进行收集是...

网友评论

      本文标题:深入JVM-垃圾收集器常用的GC参数

      本文链接:https://www.haomeiwen.com/subject/olwpmttx.html