Java g:link和g:render的Grails和PermGen问题

Java g:link和g:render的Grails和PermGen问题,java,grails,jvm,Java,Grails,Jvm,我运行grails已经有一段时间了,没有任何问题,但最近升级到Grails1.1.1之后,我遇到了可怕的PermGen错误。在升级之前,没有此类问题 在GSP中使用和标记时,似乎会发生错误,尽管我不确定这是否表明这是问题所在,但更多的事实是,在呈现这些标记时,标记空间不足 通常,每个遇到PermGen错误的人都建议增加java环境选项——但问题的根源可能是什么?这是grails1.1/hibernate/spring的问题吗 错误: 2010-04-20 05:37:03,962 INFO [

我运行grails已经有一段时间了,没有任何问题,但最近升级到Grails1.1.1之后,我遇到了可怕的PermGen错误。在升级之前,没有此类问题

在GSP中使用
标记时,似乎会发生错误,尽管我不确定这是否表明这是问题所在,但更多的事实是,在呈现这些标记时,标记空间不足

通常,每个遇到PermGen错误的人都建议增加java环境选项——但问题的根源可能是什么?这是grails1.1/hibernate/spring的问题吗

错误:

2010-04-20 05:37:03,962 INFO  [STDOUT] 05:37:03,961 ERROR [GroovyPagesServlet] Error processing GSP: 
Error executing tag <g:render>: org.codehaus.groovy.grails.web.taglib.exceptions.GrailsTagException: 
Error executing tag <g:link>: java.lang.OutOfMemoryError: PermGen space 
org.codehaus.groovy.grails.web.taglib.exceptions.GrailsTagException: 
Error executing tag <g:render>: 
org.codehaus.groovy.grails.web.taglib.exceptions.GrailsTagException: 
Error executing tag <g:link>: java.lang.OutOfMemoryError: PermGen space
2010-04-20 05:37:03962信息[STDOUT]05:37:03961错误[GroovyPagesServlet]处理GSP时出错:
执行标记时出错:org.codehaus.groovy.grails.web.taglib.exceptions.grailstageexception:
执行标记时出错:java.lang.OutOfMemoryError:PermGen空间
org.codehaus.groovy.grails.web.taglib.exceptions.grailstageexception:
执行标记时出错:
org.codehaus.groovy.grails.web.taglib.exceptions.grailstageexception:
执行标记时出错:java.lang.OutOfMemoryError:PermGen空间

大型PermGen空间需求是Grails在开发模式中提供的自动重新编译功能的结果。必须增加PermGen空间对于动态重新编译来说是一个非常非常小的代价。在Grails生产模式中不会出现此问题。之所以需要大型PermGen,是因为Java将类信息存储在称为PermGen的内存部分中。这个内存区域与堆和内存的其他部分完全不同。(增加堆空间不会增加永久大小)。当Grails重新编译一个类时,它会将一个新类添加到PermGen中(而不是替换现有的类信息)。当您在devel模式下进行更多更改时,会消耗越来越多的PermGen内存。

大量的PermGen空间需求是Grails在开发模式下提供的自动重新编译功能的结果。必须增加PermGen空间对于动态重新编译来说是一个非常非常小的代价。在Grails生产模式中不会出现此问题。之所以需要大型PermGen,是因为Java将类信息存储在称为PermGen的内存部分中。这个内存区域与堆和内存的其他部分完全不同。(增加堆空间不会增加永久大小)。当Grails重新编译一个类时,它会将一个新类添加到PermGen中(而不是替换现有的类信息)。当您在devel模式下进行更多更改时,会消耗越来越多的PermGen内存。

上面的解释很好。。。。试着增加

export JAVA_OPTS="-Xms256m -Xmx1024m -XX:PermSize=512m -XX:MaxPermSize=512m" 

上面的解释很好。。。。试着增加

export JAVA_OPTS="-Xms256m -Xmx1024m -XX:PermSize=512m -XX:MaxPermSize=512m"