2015-03-03 2 views
0

Я недавно обнаружил следующие факты:Пермский пол растет

При первом переходе по страницам моего приложения пермский жемчуг значительно растет. (Это нормально)

Мощный ген растет, когда я просматриваю страницы своего приложения, с которым я уже прошел. Но это происходит только в том случае, если я прекратил использовать свое приложение в течение нескольких минут. Если я не сделаю этого, то perm gen останется тем же, хотя я продолжаю навигацию. Увеличение не так много, но я думаю, что это не нормальное поведение.

Я также заметил, что perm gen никогда не спускается, или он немного опускается.

Что может быть причиной этого?

Я использую Java6, Tomcat6, Hibernate, Spring 3.3.4 и JSF 1.2.

ответ

0

Ошибки и утечки PermGen сложно исследовать.

Чтобы справиться с ними, это первое, что вы можете сделать, это проверить статику. Ваше приложение может управлять некоторой статистикой, которая держит ссылки на объекты, которые должны были быть собраны мусором, но по-прежнему отмечены как достижимые, потому что они ссылаются на эти статики.

Например, вы используете Spring, а весной, по умолчанию, beans являются Singleton, поэтому он может быть источником проблем PermGen.

Чтобы узнать больше об объектах в памяти, вы можете использовать некоторые инструменты для профилирования, например VisualVM. Это может помочь вам исследовать, сколько экземпляров данного класса поддерживает Tomcat, и это может дать вам представление о том, где утечка может быть.

Чтобы узнать больше о проблемах и проблемах PermGen и PermGen вы можете найти на странице The java.lang.OutOfMemoryError: PermGen Space error demystified

Смежные вопросы