Кто-нибудь знает, сильно ли влияет PrintGCDetails на производительность java? Я отслеживал нашу сборку мусора java на промежуточном сервере с той же настройкой, что и рабочий сервер.
Я предположил, что можно с уверенностью сказать, что мне не следует включать это в производственной среде, но я не знаю, действительно ли это влияет на производительность.
Вы обязательно должны включить ведение журнала сборки мусора на производственных серверах. Преимущества намного перевешивают незначительное влияние на производительность.
Вы также можете отслеживать поведение сборщика мусора используя другие подходы (см. ответы).
В зависимости от того, сколько ваше Java-приложение записывает на диск, будьте очень осторожны, чтобы вы не начали видеть проблемы с производительностью из-за дискового ввода-вывода, я видел, как это происходило с парой разных Java-приложений, где система работает хорошо, пока не увязнет при выполнении протоколирование.
Возможно, стоит изучить использование jmx, чтобы узнать, как работает система, или включить SNMP в JVM (я тестировал это, но не использовал его в производстве, поэтому, пожалуйста, используйте его очень осторожно и протестируйте где-нибудь заранее.)
В худшем случае это незначительно повлияет на производительность. Это зависит от того, как ведет себя ваше приложение. Если для этого требуется, чтобы сборщик мусора запускался чаще, он будет выводить больше информации журнала. Сам процесс регистрации не займет много времени, но он заполнит ваши файлы журналов большим количеством дополнительной информации.