Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Сколько терпения нужно чтобы работать с Tomcat????


Автор: pizgin 25.8.2007, 13:12
После 10-11 deploy/reload'ов Tomcat отваливается с ошибкой
автор
Encountered exception java.lang.OutOfMemoryError: PermGen space

Жутко достает. Приходиться перезагружать Tomcat (он еще и не всегда перезагружается, приходиться kill -9 xxxx делать) и деплоить заново.
Подскажите как с этим бороться.
ОС: Ubuntu 7.04, Tomcat: 6.0.13, Spring 2.0.6, Hibernate 3.2

Автор: tux 25.8.2007, 23:48
Никак. В большинстве остальных веб-контейнерах и серверах приложений можно наблюдать это гораздо чаще. Так что, думаю можно только радоваться.

Автор: lunix 26.8.2007, 00:26
Можно просто увеличить память опцией -XX:MaxPermSize=size, есть еще какие-то опции. Я так делал. Но конечно, полностью это не решало проблему exception java.lang.OutOfMemoryError: PermGen space. Просто при увеличении памяти контейнер выдерживал большее количество редиплоев. Примерно полгода назад искал решение этой проблемы в google, народ говорит что решения нет(, можно просто сделать так, чтоб контейнер выдерживал большее кол-во редиплоев.

Автор: ekr 26.8.2007, 12:12
в область хипа с названием perm(anent) грузятся и располагаются классы.
увеличение этой области - дело полезное, но проблему не решает:
Цитата(lunix @  26.8.2007,  00:26 Найти цитируемый пост)
Но конечно, полностью это не решало проблему


посему надо включить garbage collector для этой области. тогда ненужные классы будут вычищаться из perm-области.
как включить gc для perm - зависит от используемой jvm.

Автор: pizgin 26.8.2007, 14:19
В скрипт запуска Tomcat'a (catalina.sh) прописал
Код

JAVA_OPTS="$JAVA_OPTS "-server" "-Xincgc" "-XX:NewSize=64m" "-XX:MaxNewSize=64m" "-Xms512m" "-Xmx1024m" "-XX:MaxPermSize=256M" "-XX:PermSize=128M" "-XX:+CMSPermGenSweepingEnabled" "-XX:+CMSClassUnloadingEnabled


Теперь хватает на целый день smile smile smile
Спасибо.

Автор: ventus8 31.8.2009, 13:58
А в какой файл это прописывать, в server.xml или в catalina.properties ?
И в какой раздел ?

Автор: powerOn 31.8.2009, 14:59
Цитата(ventus8 @  31.8.2009,  14:58 Найти цитируемый пост)
А в какой файл это прописывать, в server.xml или в catalina.properties ?


в catalina.bat на винде и catalina.sh на линуксе.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)