知识库

启用 GC 日志

什么是垃圾收集以及为什么要启用它?

垃圾收集事件是 Java 应用程序(例如:neo4j-server)的完全暂停。

它可以在 debug.log 中识别为 stop-the-world 事件。

例如

如果您注意到有关它们的问题,例如过多的暂停、过长的暂停、导致集群重新选举的暂停等,您可以启用 GC 日志记录,以便更轻松地与监控解析器集成。

请记住以下关于 GC 日志记录的注意事项:

  • GC 日志文件在数据库重启时被清除。

  • 它们对于分析应用程序性能至关重要。

  • 它会增加少量开销。

  • 您可能考虑在您的生产环境中启用此选项。

启用 GC 日志记录

如产品文档中所述,在 3.5更新 中,您可以取消以下行的注释以启用它

#dbms.logs.gc.enabled=true

保存文件并重新启动您的服务器。

GC 日志位置

日志文件将写入 logs 目录,如 此处 所指定,并命名为 gc.log.<#>

其他选项

您可以查看我们的操作手册(3.5更新)以了解其他设置,例如旋转文件的数量或大小。

dbms.gc.log.options 更改

dbms.gc.log.options 由于从 Java 8 升级到 11 在 4.0.x 中有所不同。

我们建议将其保留为注释,以便 neo4j 在两个版本中都使用工作设置启动。

您可以在下面的表格中查看这些差异。

表 1. 3.5.x 和 4.0.x 之间的差异

neo4j 版本

配置值

3.5.x

#dbms.logs.gc.options=-XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCApplicationStoppedTime -XX:+PrintPromotionFailure -XX:+PrintTenuringDistribution

4.0.x 及更高版本

#dbms.logs.gc.options=-Xlog:gc*,safepoint,age*=trace