知识库

由应用程序代码调用 System.gc() 导致的长时间 GC 暂停

在调查长时间垃圾回收周期的原因时,启用 GC 日志记录通常很有用。

您可以按照 产品文档 中的说明进行操作。

启用此功能后,您可以查看 GC 日志文件以查找问题的迹象。

在查找 Full GC 消息时,请特别注意消息的详细信息。

如果您看到类似以下内容

2019-05-02 17:53:16.622+0100 WARN [o.n.k.i.c.VmPauseMonitorComponent] Detected VM stop-the-world pause: {pauseTime=566, gcTime=596, gcCount=1}

在这种情况下,您可能正在查看应用程序代码是否需要调用完全垃圾回收周期的情况。建议允许 JVM 决定如何以及何时运行垃圾回收。

不要通过调用 System.gc() 显式触发“停止世界”事件。