基于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选项,但修改后服务器无法启动。

tomcat java配置选项卡

我的电脑安装了4Gb RAM。

提前致谢。


对于以下系统规格:

  • Windows 7 64位
  • 4 GB安装的RAM
  • 英特尔酷睿i7处理器
  • Java(TM)SE运行时环境(build 1.6.0_25-b06)
  • 可接受行为的Tomcat 7 Java属性可能是: tomcat的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

    上一篇: based Tomcat PermGen Space

    下一篇: Java Class (PermGen) Memory Leak (Web Applications)