我在几个地方看到[1]人们在生产服务器(任务关键)中启动GC日志记录,例如
java -server -Xms1024m -Xmx1024m -XX:NewSize=256m \ -XX:MaxNewSize=256m \ -XX:+UseConcMarkSweepGC \ -XX:CMSInitiatingOccupancyFraction=70 -XX:+PrintGCDetails \ -XX:+PrintGCDateStamps \ -XX:+PrintTenuringDistribution \ -Xloggc:logs/gc.log \ -Djava.awt.headless=true -Dcom.sun.management.jmxremote -classpath ...
这些天是否推荐生产环境中的做法?
更新 :我提供了来自Oracle的链接[2],还建议监视生产服务器上的GC。
是的 ,这是一种常见的做法。这 往往极力推荐 ,我给的例子和下面引用。
为什么GC日志记录适合生产Java服务器:
最小开销 -GC日志记录对整个系统性能的 开销最小 。