启动工程时异常：java.lang.OutOfMemoryError: PermGen space?
李小翔
2013-10-24 11:20

内容列表

    工程比较大时，启动时可能出现异常“java.lang.RuntimeException: by java.lang.OutOfMemoryError: PermGen space”。
    只需要对应的修改jvm参数 XX:MaxPermSize（持久代最大值，俗称方法区） 即可。不过在32位和64的jdk下，设置可能不同；生产环境下，一般也无需设置那么大。
    如果开发机内存比较大并且为64位jdk可以设置得大些，比如为512m或者312m；如果内存较小或者使用32位的jdk，一般设置得相对略小些，如256m。
修改方式1：修改g脚本，搜索并设置 XX:MaxPermSize
修改方式2：手动设置环境变量 GRAILS_OPTS
修改方式3：在GGTS中运行时，在工程上点右键 - Run As - Run Configuration，然后在 Arguments 页签下的 VM Arguments 中添加对应的配置，如：-XX:MaxPermSize=512m
修改方式4：如果采用 Forked Tomcat 执行模式，则修改 BuildConfig.groovy 中的 grails.project.fork.run 配置 jvmArgs。