Увеличьте Windows Tomcat PermGen Space на базе установщика Windows

У меня проблемы с Tomcat. Я развертываю приложение Grails и по мере добавления новых функций я получил эту (к сожалению, хорошо известную) ошибку в файле stacktrace:

Caused by: java.lang.OutOfMemoryError: PermGen space
2014-01-13 19:28:35,753 [http-bio-8080-exec-26] ERROR StackTrace  - Full Stack Trace:
org.codehaus.groovy.runtime.InvokerInvocationException: java.lang.OutOfMemoryError: PermGen space
    at gsp_liquidaciones_liquidacionDeComplejolist_gsp$_run_closure2.doCall(gsp_liquidaciones_liquidacionDeComplejolist_gsp.groovy:84)
    at gsp_liquidaciones_liquidacionDeComplejolist_gsp.run(gsp_liquidaciones_liquidacionDeComplejolist_gsp.groovy:105)
    at grails.plugin.cache.web.filter.PageFragmentCachingFilter.doFilter(PageFragmentCachingFilter.java:195)
    at grails.plugin.cache.web.filter.AbstractFilter.doFilter(AbstractFilter.java:63)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
...

У меня установлена ​​установка tomcat на основе установщика Windows, и у меня нет файла catalina.bat. Googling на многих страницах предлагает изменить этот файл (catalina.bat) или зарегистрировать переменную JAVA_OPTS, но ничего не работает. Итак, где я должен указать эти параметры?:

SET JAVA_OPTS="-Dfile.encoding=UTF-8 -server -Xms512m -Xmx1024m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m -XX:+DisableExplicitGC"

Я попытался изменить параметры Java через окно Apache Tomcat 7, но после изменений, которые сервер не может запустить.

tomcat java configuration tab

Мой компьютер имеет 4Gb RAM.

Спасибо заранее.

Ответы

Ответ 1

Для следующих системных спецификаций:

  • 64-разрядная версия Windows 7
  • 4 ГБ установленной оперативной памяти
  • Процессор Intel Core i7
  • Java (TM) SE Runtime Environment (сборка 1.6.0_25-b06)

Свойства Java Tomcat 7 для приемлемого поведения МОЖЕТ быть: tomcat java configuration

Ответ 2

У вас должно быть небольшое приложение для Windows "tomcat6w.exe" или "tomcat7w.exe", когда tomcat был установлен как служба Windows. Когда вы запускаете это приложение, у него есть вкладка "Java", где вы можете установить параметры JVM. Подробнее см. больше памяти для службы Tomcat.

Вам нужно ввести только параметры, начинающиеся с -X.

Ответ 3

Эта работа для меня в apache-tomcat-8.0.15, но я думаю, что она будет одинаковой для всех для версии tomcat.

Я выполнил regedit и нашел этот путь:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tomcat8

И измените ключ ImagePath на:

C:\apache-tomcat-8.0.15\bin\tomcat8.exe //RS//Tomcat8 ++JvmOptions -XX:PermSize=128m -XX:MaxPermSize=512m