1

我正在使用 IntelliJ 开发 Grails 应用程序,但是随着我们的应用程序的增长,我在使用 Tomcat 插件时遇到了 Permgen 错误。我已经尝试了几种设置 permgen 大小的组合,但它们似乎没有任何效果。

处理这些 Permgen 错误的任何解决方案?

4

2 回答 2

7

在 Run 菜单中,选择 Edit Configurations,选择为 Grails 应用程序执行 run-app 的配置,然后输入 permgen 的值,如下图红色所示。

在此处输入图像描述

于 2011-09-28T10:24:58.737 回答
4

你的意思是你在重新部署几次后得到 perm gen 错误?

如果是,这是 Tomcat 本身的缺陷。修复它的唯一方法是关闭 Tomcat,重新启动它以清空 perm gen,然后重试。

Grails 本身通过使用反射来帮助执行“约定优于编码”,从而导致了这个问题。反射使用 perm gen 来完成它的工作。Hibernate 也可以做出贡献;看

http://www.jroller.com/agileanswers/entry/preventing_java_s_java_lang

如果您将 VisualVM 1.3.2 附加到 Tomcat 进程,您将能够看到所有内存、线程等。如果发生其他事情,这可能会帮助您更好地理解。

于 2011-09-28T10:04:55.287 回答