求助>JDK8 CMS切换到JDK8 G1,在后端延时变大情况下,一分钟GC了120次>
1回复
1月前

JDK8 CMS切换到JDK8 G1,在后端延时变大情况下,一分钟GC了120次



我们线上网关是zuul集群,jdk8,jvm参数如下

-XX:HeapDumpPath=/data/applogs/systemerror.dump -XX:InitialHeapSize=8589934592 -XX:MaxGCPauseMillis=50 -XX:MaxHeapSize=8589934592 -XX:MaxMetaspaceSize=536870912 -XX:MaxTenuringThreshold=15 -XX:MetaspaceSize=536870912 -XX:+PrintGC -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintHeapAtGC -XX:+PrintTenuringDistribution -XX:SurvivorRatio=7 -XX:TargetSurvivorRatio=75 -XX:+UnlockDiagnosticVMOptions -XX:+UnsyncloadClass -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseG1GC 

当后端应用某接口的RT时间从65ms增加到600ms时,其他接口均正常为65ms,而qps保持在1000+,出现了一分钟内GC了120次,具体时间为GC日志中的2019-12-09T09:34:00-2019-12-09T09:35:00。 这段时间的GC日志 真是看不太懂。

从GC日志中我也看到了处理软弱引用有的时候很耗时。

不知道怎么处理了,难道是JDK8的G1 很差劲不能用吗 ? 感觉和JDK8 CMS差了很多。

大佬能帮忙看下吗?

GC日志 好像没有办法上传。。。

973 阅读
请先登录,再评论

回复列表

大空翼1月前

可以把jvm参数放到PerfMa的xxfox产品里检查下,在g1下新生代最好不用设置大小