2010-02-22 3 views
3

Просто интересно, влияет ли включение подробного GC на производительность приложения.Java -verbose: gc Эффективные последствия?

Мое предположение - это не совсем так.

Я знаю, что включение подробного GC может выводить справедливые данные бит и интересно было ли это реально иметь какое-либо влияние на производительность?

+0

Можем ли мы иметь еще какой-то контекст? В каком приложении и среде вы планируете включить этот параметр? Я бы посоветовал не включать его для простое удовольствие от него на крупной производственной системе предприятия. –

ответ

5

Все, что выводится в файл/консоль, будет нести некоторые служебные данные ввода-вывода. Учет дополнительной задержки на пару мс на каждое событие сбора мусора, безусловно, может повлиять на производительность.

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

0

Вот несколько эталонных показателей производительности от IBM. Оба показывают, что в своих эталонных сценариях, что накладные расходы многословной GC были довольно ничтожны:

Это, конечно же, на IBM JVM, поэтому результаты могут отличаться для Hotspot. Однако, как и в IBM JVM, большинство показателей, которые записываются в журнал, скорее всего, внутренне рассчитаны по причинам оптимизации, поэтому единственными дополнительными накладными расходами будет акт записи уже вычисленных данных в журнал. Так как WDS сказал, вам придется собирать с невероятной частотой, прежде чем эти накладные расходы начнут сильно влиять на вашу общую производительность.