猿问
带 G1GC 的 SerialOld GC
我正在使用 G1GC 并在 java 任务控制中发现以下内容:
为什么它显示SerialOld?在配置中,它显示以下内容:
富国沪深
浏览 214
回答 2
2回答
jeck猫
我相信这是 G1 中的 Full GC 操作。JDK 10之前是串行的,JEP 307集成后现在是并行的。从这些阶段的持续时间也可以看出这一点:与常规 G1 周期相比,几乎是 4 秒。看到源:G1全GC使用的SerialOldTracer报告,现在它使用G1FullTracer。因此,在 JDK 10 之前,它会为 Full GC 报告“SerialOld”,现在它应该报告“G1Full”。
0
0
0
明月笑刀无情
如前所述,这与 Full GC 相关,但对于不熟悉该概念的任何人,我将尝试澄清:Full GC 仅在 G1GC 以某种方式无法跟上,或者某事/某人明确要求时才会发生。您现在可以紧急回退到经典的 stop-the-world 垃圾收集,而不是短(亚秒)大部分并发垃圾收集,这可能需要几秒钟(取决于堆使用情况)。要确定导致 Full GC 的原因,您(或处于相同情况的其他任何人)可能需要启用 GC 日志记录。(例如:-XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:<file-path>在 Java 9 之前和 Java 9 之前:)-Xlog:gc*:file=<file-path>。如果您确实确保将 GC 日志写入快速存储,请参阅:https : //engineering.linkedin.com/blog/2016/02/elimination-large-jvm-gc-pauses-caused-by-background-io-交通
0
0
0
随时随地看视频
慕课网APP
相关分类
Java
我要回答