知识库

调优GC算法

简介

Java 中有几种可用的垃圾回收(GC)算法。您可以在我们的产品要求部分找到支持的 JDK。

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

G1

这是 Java 9 以来的默认 GC 算法。它是用于内部测试并在 neo4j 中默认使用的算法。它在所有实现中都可用。

Shenandoah

自 Java 8 以来,它已在 OpenJDK 的某些版本中正式可用。

它目前在 Oracle JDK 中不可用。

它允许您实现无暂停的 GC(小于 10 毫秒),但代价是更高的 CPU 使用率(额外 20% 的 CPU 运行时使用率)。

请注意,我们不测试这些算法,因此我们无法提供建议。客户可以自由地在较低环境中进行测试,并选择最适合他们的算法。

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

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

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

C4 Azul

此版本拥有其专有的无暂停算法,该算法受支持。这是一个付费算法,因此您可能需要首先获取许可证。

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

请注意,我们不测试这些算法,因此我们无法提供建议。客户可以自由地在较低环境中进行测试,并选择最适合他们的算法。