性能问答>相比jdk7,jdk8对CMS算法做了什么修改吗>
4回复
2年前

相比jdk7,jdk8对CMS算法做了什么修改吗



jdk7升级为jdk8后,使用同样的jvm参数,会出现偶发的yonggc时晋升内存大小骤增(有0.2MB->25MB),导致young gc耗时增大,产生业务停顿。
jvm参数:
-server -Xms2048m -Xmx2048m -Xmn512m -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC -XX:AutoBoxCacheMax=20000 -XX:-UseCounterDecay -XX:-TieredCompilation
-XX:CMSInitiatingOccupancyFraction=70 -XX:+UseCMSInitiatingOccupancyOnly
jdk8版本:jdk8-121

4065 阅读
请先登录,再评论

谨防JDK8重复类定义造成的内存泄漏,这篇文章可以参考一下

2年前
回复 你假笨:

感谢笨神回复,但我这个case是没有发生full gc的,看gc日志也没有Metaspace相关的,是发生在young gc阶段的

2年前回复

算法应该没有什么变化,关键是可以看看剧增的这些对象到底是什么对象,可以内存dump看看

2年前
回复 大空翼:

嗯,不过现在最感到奇怪的是在jdk7一切正常,切到jdk8就出现这个问题,其他的都没有变化

2年前回复