首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SerialOld GC与G1GC

SerialOld GC与G1GC
EN

Stack Overflow用户
提问于 2018-11-01 17:25:27
回答 2查看 314关注 0票数 2

我使用的是G1GC,在java任务控件中我发现了以下内容:

为什么它显示SerialOld?在配置中,它显示了以下内容:

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-06-16 15:16:15

我相信这是在G1中完整的GC操作。它过去在JDK 10之前是串行的,现在在集成9月307之后是并行的。从这些阶段的持续时间来看,这一点也很明显:与常规的G1周期相比,几乎是4秒。

请参阅源代码: G1 Full GC 使用 SerialOldTracer for reporting,现在它使用G1FullTracer。因此,在JDK 10之前,它应该报告"SerialOld“以获得完整的GC,现在应该报告"G1Full”。

票数 1
EN

Stack Overflow用户

发布于 2021-02-11 22:07:03

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

只有当G1GC在某种程度上无法跟上或某物/某人明确请求时,才会发生完全GC。而不是短时间(子秒),主要是并发垃圾收集,您现在有一个紧急回落到经典的停止世界垃圾收集,可能需要很多秒(取决于堆的使用)。

关于调谐建议,见:

Oracle Java SE版本9 GC调优建议

要确定导致整个GC的原因,您(或其他处于相同情况的人)可能希望启用GC日志记录。(例如:Java9之前的-XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:<file-path>和Java9:-Xlog:gc*:file=<file-path> )。如果确实将GC日志写入快速存储,请参见:https://engineering.linkedin.com/blog/2016/02/eliminating-large-jvm-gc-pauses-caused-by-background-io-traffic

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53106317

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档