Увеличьте 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, но после изменений, которые сервер не может запустить.
Мой компьютер имеет 4Gb RAM.
Спасибо заранее.
Ответы
Ответ 1
Для следующих системных спецификаций:
- 64-разрядная версия Windows 7
- 4 ГБ установленной оперативной памяти
- Процессор Intel Core i7
- Java (TM) SE Runtime Environment (сборка 1.6.0_25-b06)
Свойства Java Tomcat 7 для приемлемого поведения МОЖЕТ быть:
Ответ 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