JAVA_OPTS -XX:+ PrintGCDetails影响性能?

有谁知道PrintGCDetails是否会影响Java性能? 我一直在使用与生产服务器相同的设置来监控我们在临时服务器上收集的java垃圾。

我认为可以肯定地说,我不应该在生产上启用这个function,但是我不知道是否对性能有任何影响。

您应该在生产服务器上启用垃圾回收日志logging。 好处远远超过可忽略的性能影响。

您也可以使用其他方法监测GC行为 (请参阅答案)。

根据您的Java应用程序login到磁盘的程度,要非常小心,因为磁盘IO不会开始看到性能问题,我已经看到这种情况发生在几个不同的Java应用程序,系统运行良好,直到性能下降日志logging。

可能值得研究使用jmx来查询系统如何运行或者在JVM中启用SNMP(我已经testing了这个,但是没有在生产中使用它,所以请谨慎使用,并在一些地方进行testing)。

最坏的情况是对性能影响不大。 这取决于你的应用程序的行为。 如果它需要垃圾收集器运行更频繁,那么它会输出更多的日志信息。 logging它的行为并不需要太多的时间,但它会填充您的日志文件中的大量额外信息。