我当前正在使用Wildlfly 10.1。在生产中,刚刚发现我们有很多gc暂停时间。对gc日志的分析显示,95%的gc运行由System.gc()调用触发。我们的应用程序代码不会调用它们中的任何一个。
这是Wildfly功能吗?
还是有人可以向我指出正确的方向,以弄清楚这些System.gc()调用是否有意义?
当然,我知道有许多措施可以优化gc行为。我只是问自己为什么有那么多System.gc()调用。
System.gc()
由Java RMI或更具体地由sun.misc.GC
类调用-源代码
默认间隔为1小时。您可以使用以下参数进行设置:
-Dsun.rmi.dgc.client.gcInterval=3600000
-Dsun.rmi.dgc.server.gcInterval=3600000
设置-XX:+DisableExplicitGC
会使您的应用程序随着时间的推移越来越慢。
另请参阅:Java 8中的默认完整GC间隔是什么?
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句