Я пытаюсь собрать информацию о случайной проблеме, которая возникает у нас, когда после нескольких недель работы приложение замедляется, работает нормально, замедляется, работает нормально, интервалы между медленной и нормальной работой сокращаются и сокращаются.короче.Моя теория заключается в том, что со временем мы все чаще собираем мусор.Другая ключевая информация заключается в том, что у нас иногда возникали проблемы с OOM PermGen.
Я включил параметр verbose: gc и теперь вижу вывод GC в catalina.out.Я думаю, что мне нужно добавить флаг PrintGCDetails, однако, основываясь на информации здесь:
http://www.oracle.com/technetwork/java/gc-tuning-5-138395.html
Включено, что последний флаг будет выводить информацию о сборе памяти "Заемщик".Вопрос в том, что это за память, которая вызывает ошибки PermGen, или это что-то другое?И если это не так, как я могу регистрировать информацию, которая покажет пространство PermGen?
РЕДАКТИРОВАТЬ - я не могу подключить ни один из инструментов мониторинга jvm в этой среде, к сожалению.
РЕДАКТИРОВАТЬ -- Я добавил указанные параметры конфигурации, а также один вариант для распечатки при владении печатью, я получаю такие вещи, как
27.701: [GC 27.701: [ParNew
Desired survivor size 2162688 bytes, new threshold 4 (max 4)
- age 1: 1906560 bytes, 1906560 total
- age 2: 2064 bytes, 1908624 total
- age 3: 5064 bytes, 1913688 total
- age 4: 650368 bytes, 2564056 total
: 35684K->2678K(38336K), 0.0068580 secs] 224179K->191173K(1065664K), 0.0069700 secs] [Times: user=0.01 sys=0.00, real=0.01 secs]
Является ли поколение ParNew пространством permgen?
и
(concurrent mode failure): 25387K->31940K(1027328K), 0.2983200 secs] 50714K->31940K(1065664K), [CMS Perm : 35273K->35139K(35392K)], 0.2985210 secs] [Times: user=0.30 sys=0.00, real=0.30 secs]
(concurrent mode failure): 25356K->31941K(1027328K), 0.3032690 secs] 50861K->31941K(1065664K), [CMS Perm : 35264K->35129K(35392K)], 0.3034800 secs] [Times: user=0.30 sys=0.00, real=0.31 secs]
неудачи меня беспокоят.
Спасибо заранее