知识库

启用 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` 因 4.0.x 中从 Java 8 升级到 Java 11 而有所不同。

我们建议保持此行注释状态,以便 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

© . This site is unofficial and not affiliated with Neo4j, Inc.