基于Tomcat的PermGen空间
我在Tomcat中遇到了一些问题。 我正在部署一个Grails应用程序,并且当我添加新功能时,我在堆栈跟踪文件中遇到了这个(可悲的是众所周知的)错误:
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 7 Java属性可能是:
当tomcat作为Windows服务安装时,您应该有一个小型Windows应用程序'tomcat6w.exe'或'tomcat7w.exe'。 当你启动这个应用程序时,它有一个选项卡'Java',你可以在其中设置JVM参数。 有关更多详细信息,请参阅Tomcat服务的更多内存。
您只需输入以-X开头的参数。
这个工作对我来说在apache-tomcat-8.0.15中 ,但我认为对于所有的tomcat版本来说都是一样的。
我执行了注册表并找到了这个路径:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTomcat8
并将ImagePath键更改为:
C:apache-tomcat-8.0.15bintomcat8.exe //RS//Tomcat8 ++JvmOptions -XX:PermSize=128m -XX:MaxPermSize=512m
链接地址: http://www.djcxy.com/p/54985.html