Исключение в Glassfish - PullRequest
       1

Исключение в Glassfish

3 голосов
/ 01 мая 2011

Я сталкиваюсь с очень раздражающим исключением в glassfish, которое

SEVERE: Exception in thread "RMI RenewClean-[192.168.1.2:8686]" 
SEVERE: PermGen space
java.lang.OutOfMemoryError: PermGen space

мои аппаратные ресурсы r высоки, и когда я открываю диспетчер задач и замечаю, что ресурсы доступны, это исключение заставляет меня перезагружать мой компьютеркаждые 10-15 минут :( что мне делать?

Ответы [ 2 ]

3 голосов
/ 01 мая 2011

Вам нужно увеличить количество PermGen пробела, используя флаг -XX:MaxPermSize=256m. См этот связанный вопрос SO

Чтобы настроить это в Glassfish, используйте следующие шаги :

  • Подключение к интерфейсу администратора вашего сервера Glassfish (localhost: 4848)
  • Перейдите на Сервер приложений > Настройка JVM > Параметры JVM и проверьте общий объем памяти, выделенный вашему экземпляру Glassfish (должно быть что-то вроде - Xmx512m или более) и добавьте одну опцию JVM со значением:

-XX:MaxPermSize=256m

Объем памяти зависит от того, сколько вам нужно. Увеличьте его, если он продолжает падать, но чтение статьи PermGen может помочь в определении правильного количества.

2 голосов
/ 13 августа 2012

Пространство permgem - одна из самых раздражающих ошибок в glassfish.

Пространство permgem - это ошибка, которая появляется, когда вы используете много развертываний или повторных развертываний на сервере, потому что сервер резервирует память и никогдаосвобождает это.Я рекомендую вам контролировать сервер с помощью Apache JMeter, чтобы увидеть объем памяти (и, если он близок к максимальному, перезапустить его до его сбоя).

Чтобы временно исправить это, необходимо включить некоторые переменные всервер, чтобы улучшить потребление памяти в администраторе Glassfish, как сказал amccormack.

Я рекомендую использовать

-XX: PermSize = 512m

-XX: MaxPermSize= 512m

-XX: + CMSClassUnloadingEnabled

Кстати, если появляется ошибка пространства permgem, сервер не будет отвечать (даже на стоп-домен asadmin).Но вы можете легко перезапустить компьютер, если убьете процесс java, который запускает glassfish и вызовете asadmin start-domain.Я думаю, что это быстрее, чем перезапустить весь сервер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...