知识库

调整 GC 算法

简介

Java 中提供了多种垃圾回收算法。您可以在我们的 产品需求 部分找到受支持的 JDK。

我们将回顾一些可用的 GC 以及它们的主要特性。

G1

自 Java 9 起,这是默认的 GC 算法。这是内部测试使用的算法,也是 neo4j 默认使用的算法。它在所有实现中均可用。

Shenandoah

自 Java 8 起,它已在部分 OpenJDK 发行版中正式提供。

目前它在 Oracle JDK 中不可用。

它能够实现无暂停的 GC(<10 ms),但代价是更高的 CPU 使用率(额外增加约 20% 的 CPU 运行时间)。

请注意,我们并未对这些算法进行测试,因此无法给出推荐。客户可以在低环境中自行测试,并选择最适合自己的算法。

您可以通过在 neo4j.conf 中注释掉默认的 dbms.jvm.additional=-XX:+UseG1GC 并添加 dbms.jvm.additional=-XX:+UseShenandoahGC 来启用它。

#dbms.jvm.additional=-XX:+UseG1GC
dbms.jvm.additional=-XX:+UseShenandoahGC

您可以在 此处 找到更多信息。

C4 Azul

该版本拥有其专有的无暂停算法,并得到支持。这是一种 付费 算法,您可能需要先获取许可证。

您可以在 此处 找到更多信息。

请注意,我们并未对这些算法进行测试,因此无法给出推荐。客户可以在低环境中自行测试,并选择最适合自己的算法。
© . This site is unofficial and not affiliated with Neo4j, Inc.