В текущем приложении, основанном на BPM (развернутом в JBOSS AS 4.2.3), наблюдается некоторые проблемы с производительностью, что связано с некоторыми более длительными циклами подвески GC во время пиковой нагрузки. Анализируя больше в том же, я нашел следующий вывод для утилиты jstat для запуска экземпляра JVM.Исследование цикла сбора мусора вызывает
/usr/jdk1.6.0-x64/bin/jstat -gccapacity 5583 NGCMN NGCMX NGC S0C S1C EC OGCMN OGCMX OGC OC PGCMN PGCMX PGC PC YGC ФСК 838848,0 1677696,0 1677696,0 167744,0 167744,0 1342208,0 3355456,0 6710912,0 6710912,0 6710912,0 21248,0 524288,0 480084,0 480084,0 8448 268
/usr/jdk1.6.0-x64/bin/jstat -gcutil 5583 1s S0 S1 ИАП YGC YGCT ФСК FGCT GCT 0,00 46,33 23,11 81,23 60,38 8451 1386,335 268 159,553 1545,887 0,00 46,33 27,99 81,23 60,38 8451 1386,335 268 159,553 1545,887
В первой команде (с опцией -gccapacity) я заметил, что NGC = NGCMX и OGC = OGCMX. Это означает, что текущая способность старого поколения достигает максимальной способности старого поколения, а нынешняя новая гене-способность достигает максимальной способности нового поколения.
Я хотел бы понять, может быть, это может быть причиной частых циклов GC с некоторыми большими казнями (иногда занимает более 25-30 секунд)?
Для текущего разрешения мы увеличили память кучи Max JVM с 8 ГБ до 9 ГБ. Однако нам нужно понять возможные причины, так что мы можем поднять то же самое в команде разработчиков, чтобы оптимизировать приложения.
+1 JVisualVM - это хорошо. И есть функция для удаленного профилирования. Используя профилировщик, вы можете найти утечки внутри приложения. – edubriguenti
Профилировщик может помочь вам узнать, почему вы сохраняете больше памяти, чем вы думаете, что должны находиться под нагрузкой. –
Спасибо Петру за ответ. Я попробую jmap -histo, чтобы больше узнать причину, а также посмотреть, есть ли какие-либо инструменты, которые я могу использовать, как вам было предложено. Однако я хотел бы понять, если NGC = NGCMX и OGC = OGCMX (как и в моем случае), это вопрос, вызывающий озабоченность и увеличение объема памяти, вероятно, приведет к снижению NGC и OGC меньше значений NGCMX и OGCMX? Примечание. У меня есть эти значения с исполнением jstat -gccapacity. –
dash27