Aar*_*lla 7 java logging garbage-collection stack-trace
在正在运行的系统中,我们看到许多"Full GC(System)"表示有人触发System.gc().
有没有办法找出代码中的这个位置?
我确实搜索了所有可用的源,但没有发现任何可疑因此它必须在某个地方,可能是另一个在同一个容器或容器本身运行的应用程序.
您可以更改Runtime类以记录将gc()调用到文件的位置(System.gc()调用Runtime.gc())
为此,编辑副本,编译并将其添加到您的 -Xbootclasspath/p:
然而,大量的Full GC更可能是由于幸存者空间不足或完整的终身空间.
你能试试跑吗?
jstat -gccause {pid} 5s
Run Code Online (Sandbox Code Playgroud)