2014-07-22 82 views
0

我遇到了问题,我的grails web应用程序无法在geronimo中启动。 这是我与 运行的版本 - Grails的版本1.3.7 - Geronimo的版本2.1.1 无论我做什么应用程序未能启动不同的例外主要是依赖于烫发根错误在Geronimo中运行grails应用程序

一些例外的我最后得到的是

09:43:27,733 ERROR [ReloadAwareAutowireCapableBeanFactory] Destroy method on bean with name 'eventTriggeringInterceptor' threw an exception 
java.lang.OutOfMemoryError: PermGen space 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632) 
    at java.lang.ClassLoader.defineClass(ClassLoader.java:616) 
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) 
    at org.apache.geronimo.kernel.classloader.JarFileClassLoader.access$200(JarFileClassLoader.java:52) 
    at org.apache.geronimo.kernel.classloader.JarFileClassLoader$6.run(JarFileClassLoader.java:308) 

我真的需要一些帮助,我坚持下一步做什么或如何解决。 我用

set JAVA_OPTS= -Xmx1024m -XX:MaxPermSize=256m in geronimo.bat 

但这并没有帮助

回答

0

更改选项

set JAVA_OPTS=-verbose:gc -Xmx756m -XX:MaxPermSize=256m 

奏效了我。

+0

我很困惑,所以你根本没有增加perm gen,只是将垃圾收集输出设置为verbose?这是怎么解决的? – grantmcconnaughey

+0

不,我改变了最大堆,即从1GB减少到756M。 由于OOM错误来自PermGen空间,并不是真正的堆内存。 将堆减少到756允许更多进程内存可用于本机堆。 看看这个SO有关PermGen的详细信息 http://stackoverflow.com/questions/1279449/what-is-perm-space – Amit

相关问题