JAVA_OPTS -XX:+PrintGCD Детали влияют на производительность?

Кто-нибудь знает, сильно ли влияет PrintGCDetails на производительность Java? Я наблюдал за сборкой мусора Java на промежуточном сервере с той же настройкой, что и на производственном сервере.

Я предположил, что можно с уверенностью сказать, что я не должен был включать это на производстве, но я не знаю, действительно ли это влияет на производительность.

3 ответа

Вы обязательно должны включить ведение журнала сбора мусора на производственных серверах. Преимущества значительно перевешивают незначительное влияние на производительность.

Вы также можете отслеживать поведение GC, используя другие подходы (см. Ответы).

В худшем случае это окажет незначительное влияние на производительность. Это зависит от того, как ведет себя ваше приложение. Если требуется, чтобы сборщик мусора запускался чаще, он будет выводить больше информации журнала. Процесс регистрации на самом деле не занимает много времени, но он заполнит ваши файлы журнала большим количеством дополнительной информации.

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

Возможно, стоит изучить использование jmx для запроса работы системы или включения SNMP в JVM (я проверял это, но не использовал его в работе, поэтому, пожалуйста, используйте его очень осторожно и протестируйте его где-нибудь перед этим).

Другие вопросы по тегам