1回复
4年前
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日志 好像没有办法上传。。。
3939 阅读