Я працюю з tomcat 6.0, і, поки я індексую (не під час запуску tomcat), у мене є помилка пробілу permgen.
Як я міг збільшити цей простір ??
Дякую
Я працюю з tomcat 6.0, і, поки я індексую (не під час запуску tomcat), у мене є помилка пробілу permgen.
Як я міг збільшити цей простір ??
Дякую
Відповіді:
Ви можете використовувати:
-XX:MaxPermSize=128m
щоб збільшити простір. Але це зазвичай лише відкладає неминуче.
Ви також можете дозволити PermGen збирати сміття
-XX:+UseConcMarkSweepGC -XX:+CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled
Зазвичай це відбувається при проведенні багато повторних розгортань. Я здивований, що ви використовуєте щось на зразок індексації. Використовуйте virtualvm або jconsole для моніторингу простору Пермі та перевірте його рівень після розігріву індексації.
Можливо, вам варто розглянути можливість переходу на інший JVM, такий як IBM JVM. Він не має постійного покоління і не застрахований від цього питання.
Для tomcat ви можете збільшити простір пермГем за допомогою
-XX:MaxPermSize=128m
Для цього вам потрібно створити (якщо він ще не існує) файл із назвою setenv.sh у папці tomcat / bin та включити в нього наступний рядок
export JAVA_OPTS="-XX:MaxPermSize=128m"
Посилання: http://wiki.razuna.com/display/ecp/Adjusting+Memory+Settings+for+Tomcat
export JAVA_OPTS="-XX:MaxPermSize=128m"
працював у мене з Clojure + lein repl
Ви також можете збільшити його за допомогою аргументів VM у вашій IDE. У моєму випадку я використовую Tomcat v7.0, який працює на Eclipse. Для цього двічі клацніть на своєму сервері (Tomcat v7.0). Клацніть на посилання "Відкрити конфігурацію запуску". Перейдіть на вкладку "Аргументи". Додайте -XX: MaxPermSize = 512м до списку аргументів ВМ. Натисніть "Застосувати", а потім "OK". Перезапустіть сервер.
якщо ви виявили, що параметри пам'яті не використовуються, і для того, щоб змінити параметри пам'яті, я використав tomcat7w або tomcat8w у папці \ bin. Потім повинно з'явитися таке:
Клацніть на вкладку Java і додайте аргументи. Restart tomcat