Я вижу в нескольких местах [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/info/121490/java-opts-xxprintgcdetails-affect-on-performance
[2] http://docs.oracle.com/cd/E24290_01/coh.371/e22838/deploy_checklist.htm#CHHFADDF