Java SerialOld-GC与G1GC

Java SerialOld-GC与G1GC,java,garbage-collection,g1gc,Java,Garbage Collection,G1gc,我正在使用G1GC,在java任务控制中,我发现了以下内容: 为什么它看起来很老?在配置中,它显示以下内容: 我相信这是G1中的完整GC操作。在JDK10之前它是串行的,集成之后它现在是并行的。从这些阶段的持续时间也可以看出这一点:与常规G1周期相比,几乎为4秒 请参阅源代码:G1完整GC用于报告,现在它使用。因此,在JDK 10之前,它会报告完整GC的“SerialOld”,现在它应该报告“G1Full”。如前所述,这与完整GC有关,但对于不熟悉此概念的任何人,我将尝试澄清: 完全GC仅在G

我正在使用G1GC,在java任务控制中,我发现了以下内容:

为什么它看起来很老?在配置中,它显示以下内容:

我相信这是G1中的完整GC操作。在JDK10之前它是串行的,集成之后它现在是并行的。从这些阶段的持续时间也可以看出这一点:与常规G1周期相比,几乎为4秒


请参阅源代码:G1完整GC用于报告,现在它使用。因此,在JDK 10之前,它会报告完整GC的“SerialOld”,现在它应该报告“G1Full”。

如前所述,这与完整GC有关,但对于不熟悉此概念的任何人,我将尝试澄清:

完全GC仅在G1GC不知何故无法跟上或有人明确请求时发生。现在,您可以紧急退回到经典的停止世界垃圾收集,这可能需要几秒钟的时间(取决于堆的使用情况),而不是短时间(亚秒)的并发垃圾收集

有关调整建议,请参阅,例如:


要确定导致完整GC的原因,您(或处于相同情况下的任何其他人)可能需要启用GC日志记录。(例如:
-XX:+PrintGCDetails-XX:+PrintGCDateStamps-Xloggc:
在Java 9之前和Java 9之后:
-Xlog:gc*:file=
)。如果确实要确保将GC日志记录写入fast存储,请参阅:

没有人真的有这样的问题吗?