我是靠谱客的博主 清脆悟空,最近开发中收集的这篇文章主要介绍JVM调优之垃圾收集器参数总结,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

垃圾收集器参数总结

通过上面的分析,我们主要讨论了最近的垃圾收集器,下面就JVM主要的参数做一下汇总和总结。

参数来自《深入理解Java虚拟机》

参数描述
-XX:+UseSerialGCJvm运行在Client模式下的默认值,打开此开关后,使用Serial/SerialOld的收集器组合进行内存回收
-XX:+UseParNewGC打开此开关后,使用ParNew/SerialOld的收集器进行垃圾回收
-XX:+UseConcMarkSweepGC使用ParNew/(CMS+SerialOld)的收集器组合进行内存回收,SerialOld作为CMS出现“Concurrent Mode Failure”失败后的后备收集器使用。
-XX:+UseParallelGCJvm运行在Server模式下的默认值,打开此开关后,使用ParallelScavenge/SerialOld的收集器组合进行回收
-XX:+UseParallelOldGC使用ParallelScavenge/ParallelOld的收集器组合进行回收
-XX:SurvivorRatio新生代中Eden区域与Survivor区域的容量比值,默认为8,代表Eden:Subrvivor = 8:1
-XX:PretenureSizeThreshold直接晋升到老年代对象的大小,设置这个参数后,大于这个参数的对象将直接在老年代分配
-XX:MaxTenuringThreshold晋升到老年代的对象年龄,每次Minor GC之后,年龄就加1,当超过这个参数的值时进入老年代
-XX:UseAdaptiveSizePolicy动态调整java堆中各个区域的大小以及进入老年代的年龄
-XX:+HandlePromotionFailure是否允许新生代收集担保,进行一次minor gc后, 另一块Survivor空间不足时,将直接会在老年代中保留。到JDK 6 Update 24之后失效
-XX:ParallelGCThreads设置并行GC进行内存回收的线程数
-XX:GCTimeRatioGC时间占总时间的比列,默认值为99,即允许1%的GC时间,仅在使用ParallelScavenge收集器时有效
-XX:MaxGCPauseMillis设置GC的最大停顿时间,在Parallel Scavenge 收集器下有效
-XX:CMSInitiatingOccupancyFraction设置CMS收集器在老年代空间被使用多少后出发垃圾收集,默认值为68%,仅在CMS收集器时有效,-XX:CMSInitiatingOccupancyFraction=70
-XX:+UseCMSCompactAtFullCollection由于CMS收集器会产生碎片,此参数设置在垃圾收集器后是否需要一次内存碎片整理过程,仅在CMS收集器时有效
-XX:+CMSFullGCBeforeCompaction设置CMS收集器在进行若干次垃圾收集后再进行一次内存碎片整理过程,通常与UseCMSCompactAtFullCollection参数一起使用
-XX:+UseFastAccessorMethods原始类型优化
-XX:+DisableExplicitGC是否关闭手动System.gc
-XX:+CMSParallelRemarkEnabled降低标记停顿
-XX:LargePageSizeInBytes内存页的大小不可设置过大,会影响Perm的大小,-XX:LargePageSizeInBytes=128m

最后

以上就是清脆悟空为你收集整理的JVM调优之垃圾收集器参数总结的全部内容,希望文章能够帮你解决JVM调优之垃圾收集器参数总结所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部