Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Зависание tomcat-a, периодически зависает tomcat  
:(
    Опции темы
Vladus
Дата 3.2.2010, 19:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 108
Регистрация: 1.2.2008

Репутация: 1
Всего: 4



Всем доброго времени суток.

Вопрос не по девелопменту, а по настройке энвайромента. 
Имеется приложение (спринг+хибернейт и еще по мелочи), которое крутится на томкате 5.5.27 + коннект к субд постгрис. Ява - 5.16. (ну или около того, но точно 5.*).
Собственно, крутится уже в продакшине. На одном из продакшен серверов оно ериодически (примерно раз в три недели) зависает. Перед зависанием логирует примерно такое:
Код

"http-192.168.1.224-443-Processor7" java.lang.OutOfMemoryError: PermGen space
Exception in thread "http-192.168.1.224-80-Processor25" java.lang.OutOfMemoryError: PermGen space
Exception in thread "http-192.168.1.224-80-Processor22" java.lang.OutOfMemoryError: PermGen space

Как бы понятна, в чем проблема и даже как с ней бороться. Прописываю в usr/local/etc/rc.d/tomcat (ос - FreeBSD 7.*)  строку
Код

JAVA_OPTS="$JAVA_OPTS -server -Xms512m -Xmx1024m -XX:MaxPermSize=256m"

По идее, эта штука должна решать проблему с OutOfMemoryError, однако ничего не изменилось. Сложность ситуации еще в том, что например есть другой сервер, где месяца четыре все работает без проблем. Пробую тестить на своей машине под периодически запросы (от jmetera - пытаюсь проэмулировать реальные нагрузки) - проверяю тулзой probe - задействовано не более 25 процентов памяти. 
Единственное отличие зависаемого сервера - он работает по https. 
Теоритически, может подлечить периодическое вызывание System.gc() (кварц в проекте используется), однако хотелось бы без таких мер  smile 

В общем, заранее спасибо.
PM MAIL   Вверх
dobrolub
Дата 3.2.2010, 20:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 385
Регистрация: 18.12.2009
Где: Vancouver, Canada

Репутация: 4
Всего: 16



> -XX:MaxPermSize=256m

а на "работающем" томкате какой permgen?
PM   Вверх
Vladus
Дата 3.2.2010, 21:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 108
Регистрация: 1.2.2008

Репутация: 1
Всего: 4



dobrolub, настройки явы аналогичные, разница в железе (так сразу не могу сказать конфигурацию).

PM MAIL   Вверх
dobrolub
Дата 3.2.2010, 21:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 385
Регистрация: 18.12.2009
Где: Vancouver, Canada

Репутация: 4
Всего: 16



хм..outOfMemory по permGen возможно в двух случаях:
- много классов (скомпилированный код помещается в пермген)
- classloader leak. Когда отработанные класс-лоадеры не подчищаются

Если дать ему побольше чем 256 и, если ошибки полезут, наверняка classloader leak.

Это сообщение отредактировал(а) dobrolub - 3.2.2010, 21:49
PM   Вверх
Vladus
Дата 3.2.2010, 22:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 108
Регистрация: 1.2.2008

Репутация: 1
Всего: 4



dobrolub, большое спасибо. Попробую дать больше, то про результаты узнаю примерно через три недели  smile 
А в случае classloader leak, какие предполагаются методы решения?
PM MAIL   Вверх
dobrolub
Дата 3.2.2010, 22:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 385
Регистрация: 18.12.2009
Где: Vancouver, Canada

Репутация: 4
Всего: 16



Поискать какие класслоадеры являются проблемой с помощью всяких примочек типа jmap, и посмотреть есть ли проблемы у версий библиотек попавших под подозрение из за большого количества инстансов класслоадеров.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0401 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.