Java中常见的GC参数有哪些
这篇文章主要介绍Java中常见的GC参数有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
创新互联10多年企业网站制作服务;为您提供网站建设,网站制作,网页设计及高端网站定制服务,企业网站制作及推广,对成都会所设计等多个行业拥有丰富的网站营销经验的网站建设公司。
1. 与串行收集器相关的参数
-XX:+ UseSerialGC
:在新生代和老年代使用串行收集器-XX:SurvivorRatio
:设置eden
区大小和survivior
区大小的比例。-XX:PretenureSizeThreshold
:设置大对象直接进入老年代的阈值。当对象的大小超过这个值时,将直接在老年代-XX:MaxTenuringThreshold
:设置对象进入老年代的年龄的最大值。 每一次MinorGC后,对象年龄就加1。任何大于这个年龄的对象,一定会进入老年代。
2. 与并行收集器相关的参数
-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
的比例、晋升老年代的对象年龄等参数会被自动调整,以达到在堆大小、吞吐量和停顿时间之间的平衡点
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:UseCMSInitiatingOccupancyOnly
:表示只在到达阈值的时候才进行CMS回收。-XX:+CMSIncrementalMode
:使用增量模式,比较适合单CPU。增量模式在JDK8中标记为废弃,并且将在JDK9中彻底移除。
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
以上是“Java中常见的GC参数有哪些”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!
当前名称:Java中常见的GC参数有哪些
本文网址:http://scyanting.com/article/ijddeo.html