提问人:Manuel Calles 提问时间:1/14/2014 最后编辑:Manuel Calles 更新时间:12/4/2014 访问量:25598
增加基于 Windows 安装程序的 Tomcat PermGen 空间
Increase Windows installer-based Tomcat PermGen Space
问:
我在使用 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)
...
我有一个基于 Windows 安装程序的 tomcat 安装,但我也没有 catalina.bat 文件。谷歌搜索许多页面建议修改此文件(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”
我尝试通过 Apache Tomcat 7 属性窗口修改 Java 选项,但在修改后服务器无法启动。
我的电脑安装了 4Gb RAM。
提前致谢。
答:
当 tomcat 作为 Windows 服务安装时,您应该有一个小型 Windows 应用程序“tomcat6w.exe”或“tomcat7w.exe”。当您启动此应用程序时,它有一个选项卡“Java”,您可以在其中设置 JVM 参数。有关更多详细信息,请参阅 Tomcat 服务的更多内存。
您只需要输入以 -X 开头的参数。
评论
2014-01-14 19:48:29 Commons Daemon procrun stderr initialized Could not create the Java virtual machine.
2014-01-14 19:48:29 Commons Daemon procrun stdout initialized Error occurred during initialization of VM Could not reserve enough space for object heap
对于以下系统规格:
- Windows 7 64 位
- 4 GB 安装内存
- Intel Core i7 处理器
- Java(TM) SE 运行时环境(内部版本 1.6.0_25-b06)
可接受行为的 Tomcat 7 Java 属性可能是:
这在 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
评论