在生产 Java 服务器中打开 GC 日志记录是常见的做法吗?
2022-09-02 00:31:00
我看到在一些地方[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 ...
现在是否推荐生产环境中的做法?
更新:我添加了一个链接[2],来自Oracle也建议在生产服务器上监视GC。
来源:
[1] https://serverfault.com/questions/121490/java-opts-xxprintgcdetails-affect-on-performance
[2] http://docs.oracle.com/cd/E24290_01/coh.371/e22838/deploy_checklist.htm#CHHFADDF