2回复
2年前
Young GC毛刺问题
最近遇到个奇怪的问题:
1. 使用Oracle JDK8-171线上服务遇到Young GC偶现毛刺,可能一个小时,毛刺一般在100ms-200ms之间出现大概5-10次,持续时间也很短,非业务高峰时段。
2. 更换AliJDK后,开启Young GC日志,居然极其平滑,再**刺出现,最高不超过40ms
3. 未果,继续更换Oracle JDK8-171,继续出现100ms毛刺
4. 开启引用处理日志,耗时并不明显,怀疑是CardTable影响,于是通过jmap -histo:live主动触发full gc,然而不出1小时,younggc继续出现100ms以上毛刺
5. 大家帮忙看看可能是什么原因,或者对于Young GC排查一般有什么好手段?
关键GC参数如下, JDK版本Oracle JDK8-171:
-Xms4g -Xmx4g -Xmn2g -XX:MetaspaceSize=256m -Xss256k
-XX:+UseParNewGC
-XX:+UseConcMarkSweepGC
-XX:+UseCMSInitiatingOccupancyOnly
-XX:CMSInitiatingOccupancyFraction=70
-XX:+CMSScavengeBeforeRemark
-XX:+ParallelRefProcEnabled
补充信息:
Par Survivor Space:10M左右
minor gc的最大时长
minor gc的平均时长
1295 阅读