Ошибка нехватки памяти в Struts2 - PullRequest
0 голосов
/ 12 января 2012

Я заметил это явление в большом приложении, где сервер переднего плана довольно быстро сжимал PermGen, в худшем случае он увеличивался при каждом запросе, иногда он просто увеличивался, даже если мы не обращались к приложению. сервер вообще. Я столкнулся с этим с Tomcat 6.0.33, Tomcat6.0.29 оба.

Чтобы изолировать проблему, я взял пустые стойки и, к своему ужасу, показывал ту же тенденцию. Это нормально? Я попытался проверить несколько версий Struts2, таких как 2.2.1, 2.2.1.1, 2.2.3.1, используя maven (mvn archetype: generate), и после запуска их в jetty я заметил, что пространство PermGen заполняется в каждом запросе на 2 -3KB. Я тестирую на стойках бланка и пристани - 6.1.21.

Поскольку PermGen увеличивается в зависимости от количества запросов, я подозреваю, насколько он достоин работать с ним?

1 Ответ

4 голосов
/ 12 января 2012

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

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

...