Является ли распространенной практикой включение регистрации GC на сервере разработки Java?
Я вижу в нескольких местах [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
Ответы
Ответ 1
Да, это обычная практика. Это часто рекомендуется, и ниже приводятся примеры и ссылки.
Почему регистрация GC хороша для рабочих серверов Java:
-
Минимальные накладные расходы. Журнал GC имеет минимальные накладные расходы для общей производительности системы.
- Это заявлено, например, Чарли Хант, бывший JVM Performance Architect и соавтор книги Java Performance.
- все мировой рекорд SPEC Benchmarks, на котором запущено программное обеспечение Java Enterprise, работают серверы с включенным протоколом GC. Это подтверждает, что ведение журнала имеет небольшие накладные расходы, а также то, что путь ведения журнала сильно настраивается экспертами, которые публикуют результаты тестов.
-
Долгосрочное ведение журнала абсолютно имеет решающее значение для анализа Производительности приложений. Ведение журнала GC должно быть включено все время, чтобы администраторы могли наблюдать за поведением GC и соответствующим образом настраивать приложение.
Ответ 2
Определенно нет.
Вы загрузили бы prod-сервер таким образом, если возникла проблема, которая не может быть воспроизведена в вашей системе контроля качества. И даже тогда только на короткий период времени для сбора данных вернитесь в нормальный "худой" режим.