第 3 章 Shenandoah 垃圾收集器模式
您可以通过三种不同的模式运行 Shenandoah:使用 -XX:ShenandoahGCMode=<name> 选择特定的模式。以下列表描述了每个 Shenandoah 模式:
- normal/satb (产品,默认)
- 这个模式使用 Snapshot-At-The-Beginning (SATB)标记运行并发垃圾收集器(GC)。此标记模式与 G1 类似,这是红帽构建的 OpenJDK 21 的默认垃圾收集器。
- IU (实验性)
- 这个模式会运行一个并发 GC with Incremental Update (IU)标记。它可以更积极地回收内存不足。这个标记模式会镜像 SATB 模式。这可能会使标记不太保守,特别是在访问弱引用时。
- 被动(diagnostic)
- 这个模式运行停止 World 事件 GCs。此模式用于进行功能测试,但有时对于使用 GC 障碍的 bisecting 性能情况很有用,或者确定应用程序中的实际实时数据大小。