Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / OutOfMemoryError: PermGen space / 19 сообщений из 19, страница 1 из 1
12.03.2012, 18:52:31
    #37701414
jab
jab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OutOfMemoryError: PermGen space
Вообще какеи есть цивилизованые методы лечения переполнения памяти? Какие инструменты? Как удаленно можно это лечить в случае чего? Допустим у себя на компе я могу java грохнуть и запустить, а на удаленном сервере так не прокатит.
...
Рейтинг: 0 / 0
12.03.2012, 18:57:07
    #37701431
забыл ник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OutOfMemoryError: PermGen space
Шаги такие - 1) Определяешь необходимый хип сайз пиковой нагрузки, тюнишь параметры JVM.
...
Рейтинг: 0 / 0
12.03.2012, 19:54:10
    #37701508
jab
jab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OutOfMemoryError: PermGen space
я в одном шаге от успеха.
...
Рейтинг: 0 / 0
12.03.2012, 19:59:58
    #37701517
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OutOfMemoryError: PermGen space
забыл никШаги такие - 1) Определяешь необходимый хип сайз пиковой нагрузки, тюнишь параметры JVM.
PermGen Space имеет слабое отношение к пиковым нагрузкам.
...
Рейтинг: 0 / 0
12.03.2012, 20:02:11
    #37701524
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OutOfMemoryError: PermGen space
jabВообще какеи есть цивилизованые методы лечения переполнения памяти? Какие инструменты? Как удаленно можно это лечить в случае чего? Допустим у себя на компе я могу java грохнуть и запустить, а на удаленном сервере так не прокатит.
Лечение зависит от причин. OOME PermGen space это только симптом.

Возникает при передеплоее на горячую? Если да, то в Tomcat 7 реализованы средства для поиска утечек в PermGen. Если нет, то надо профайлером смотреть, почему при андеплоее зацепились классы за GC Roots
...
Рейтинг: 0 / 0
12.03.2012, 21:22:28
    #37701607
openal
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OutOfMemoryError: PermGen space
java -XX:OnOutOfMemoryError="<cmd args>;
У меня был kill -KILL с последующим перезапуском
...
Рейтинг: 0 / 0
12.03.2012, 21:22:42
    #37701608
jab
jab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OutOfMemoryError: PermGen space
Сложно всё. Буду разбираться.
...
Рейтинг: 0 / 0
12.03.2012, 21:24:27
    #37701612
jab
jab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OutOfMemoryError: PermGen space
Как было раньше хорошо, когда сам убивал обьекты после использования... а теперь ждать этого сборщика мусора непонятно когда и непонятно выгрузятся ли классы.
...
Рейтинг: 0 / 0
12.03.2012, 21:30:32
    #37701618
jab
jab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OutOfMemoryError: PermGen space
BlazkowiczВозникает при передеплоее на горячую?
При пару раз перезапуске проекта под отладчиком.
...
Рейтинг: 0 / 0
12.03.2012, 21:42:06
    #37701635
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OutOfMemoryError: PermGen space
...
Рейтинг: 0 / 0
12.03.2012, 22:06:21
    #37701663
Leonidv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OutOfMemoryError: PermGen space
jabКак было раньше хорошо, когда сам убивал обьекты после использования... а теперь ждать этого сборщика мусора непонятно когда и непонятно выгрузятся ли классы.
По моему, вы немного не о том.
...
Рейтинг: 0 / 0
13.03.2012, 11:34:14
    #37702235
VoDA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OutOfMemoryError: PermGen space
jabКак было раньше хорошо, когда сам убивал обьекты после использования... а теперь ждать этого сборщика мусора непонятно когда и непонятно выгрузятся ли классы.PermGen space это не переполнение памяти объектами. Это проблема когда при ре-деплое старое приложение не может быть выгружено полностью. Или когда внутри приложения динамически создаются классы (не путать с объектами) и эти классы забивают собой весь PermGen.

Почему не освобождается PermGen - вопрос сложный. Как искать проблему написал Blazkowicz.
...
Рейтинг: 0 / 0
13.03.2012, 14:42:28
    #37702769
jab
jab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OutOfMemoryError: PermGen space
Спасибо! Много понаписано иностранных слов. Буду разбираться.
Мне помогает перезапуск томкота каждый раз перед и после деплоя, но это как-то не правильно на мой взгляд.
Чувствую, ещё задаст мне проблем эта хрень.
...
Рейтинг: 0 / 0
13.03.2012, 14:50:07
    #37702795
VoDA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OutOfMemoryError: PermGen space
jab,

в качестве временного костыля можно увеличить размер PermGen (параметр -XX:MaxPermSize=***M ) тогда Tomcat будет по 3-5 редеплоев выдерживать перед OOME PermGen space. Это не решает проблему, но нервных клеток тратится заметно меньше
...
Рейтинг: 0 / 0
13.03.2012, 18:06:34
    #37703408
Nis
Nis
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OutOfMemoryError: PermGen space
jab, Я бы посоветовал IBM HeapAnalyzer. Очь прикольная тулза, можно отследить какие объекты память забивают. В особенности обрати внимание на объекты связанные с базой. В моей практике были случаи когда память забивалась запросами из базы. Проверь есть ли запросы которые возвращают десятки тысяч записей(или что-то в этом роде).
...
Рейтинг: 0 / 0
13.03.2012, 18:19:51
    #37703433
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OutOfMemoryError: PermGen space
Nisjab, Я бы посоветовал IBM HeapAnalyzer. Очь прикольная тулза, можно отследить какие объекты память забивают. В особенности обрати внимание на объекты связанные с базой. В моей практике были случаи когда память забивалась запросами из базы. Проверь есть ли запросы которые возвращают десятки тысяч записей(или что-то в этом роде).
Откройте для себя мануал по GC и разберитесь в том что такое PermGen. Там не хранятся данные из БД. Там хранятся классы и интернированые строки. Когда классы прибиваются к корневым класслоадерам, например DriverManeger.register() тогда GC не может собрать этот класс. Соовтетсвенно его класслоадер и далее вообще все классы приложения.

jab, кстати попробуйте JDBC драйвер из проекта убрать. И логгеры если есть какие, унести всё это в сервер приложений.
...
Рейтинг: 0 / 0
13.03.2012, 19:16:14
    #37703539
jab
jab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OutOfMemoryError: PermGen space
Blazkowicz jab, кстати попробуйте JDBC драйвер из проекта убрать. И логгеры если есть какие, унести всё это в сервер приложений.
есть Log4j
Что значит " унести всё это в сервер приложений"?
...
Рейтинг: 0 / 0
13.03.2012, 20:50:41
    #37703654
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OutOfMemoryError: PermGen space
jabЧто значит " унести всё это в сервер приложений"?Положить в ${catalina.base}/lib, а не оставлять в WEB-INF/lib.
...
Рейтинг: 0 / 0
13.03.2012, 23:00:49
    #37703863
dominator
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OutOfMemoryError: PermGen space
jab,

Попробуйте JRockit JVM там немного другая модель распределения памяти.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / OutOfMemoryError: PermGen space / 19 сообщений из 19, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]