在正在运行的系统中,我们会看到很多“Full GC (System)”,这表明有人触发了 System.gc()。
有没有办法找出代码中发生这种情况的位置?
我确实搜索了所有可用的源,但没有发现任何可疑的东西,因此它一定在某个地方,可能是在同一容器或容器本身中运行的另一个应用程序。
您可以更改 Runtime 类以记录 gc() 被调用到文件的位置(System.gc() 调用 Runtime.gc())
为此,请编辑一个副本,编译它并将其添加到您的-Xbootclasspath/p:
然而,大量 Full GC 更有可能是由于幸存者空间不足或占满空间所致。
你可以尝试跑步吗
jstat -gccause {pid} 5s
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)