Подтвердить что ты не робот

Является ли распространенной практикой включение регистрации 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

4b9b3361

Ответ 1

Да, это обычная практика. Это часто рекомендуется, и ниже приводятся примеры и ссылки.

Почему регистрация GC хороша для рабочих серверов Java:

  • Минимальные накладные расходы. Журнал GC имеет минимальные накладные расходы для общей производительности системы.

    • Это заявлено, например, Чарли Хант, бывший JVM Performance Architect и соавтор книги Java Performance.
    • все мировой рекорд SPEC Benchmarks, на котором запущено программное обеспечение Java Enterprise, работают серверы с включенным протоколом GC. Это подтверждает, что ведение журнала имеет небольшие накладные расходы, а также то, что путь ведения журнала сильно настраивается экспертами, которые публикуют результаты тестов.
  • Долгосрочное ведение журнала абсолютно имеет решающее значение для анализа Производительности приложений. Ведение журнала GC должно быть включено все время, чтобы администраторы могли наблюдать за поведением GC и соответствующим образом настраивать приложение.

Ответ 2

Определенно нет.

Вы загрузили бы prod-сервер таким образом, если возникла проблема, которая не может быть воспроизведена в вашей системе контроля качества. И даже тогда только на короткий период времени для сбора данных вернитесь в нормальный "худой" режим.