2011-09-28 67 views
1

我使用IntelliJ開發Grails應用程序,但隨着應用程序的增長,我在使用Tomcat插件時遇到了Permgen錯誤。我已經嘗試了幾種設置Permgen尺寸的組合,但它們似乎沒有任何效果。Intellij/Grails開發如何設置以避免PermGen錯誤?

任何解決這些Permgen錯誤的解決方案?

回答

7

在運行菜單中,選擇編輯配置,選擇爲您的Grails應用程序執行run-app的配置,然後爲permgen輸入一個值,如下面紅色所示。

enter image description here

+0

在開發過程中解決了我的PermGen!非常感謝!! – Marco

4

你的意思是說你重新部署好幾次後會發生perm gen錯誤?

如果是的話,這是Tomcat本身的缺陷。解決這個問題的唯一方法是關閉Tomcat,重新啓動它以清空perm gen,然後重試。

Grails本身通過使用反射來幫助強制執行「編碼約定」,從而對問題做出貢獻。反思使用燙髮來完成它的工作。 Hibernate也可以貢獻;看到

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

如果附加的VisualVM 1.3.2 Tomcat的過程中,你將能夠看到所有的內存,線程等,也許這會幫助你更好地理解,如果別的東西正在發生。

+0

是這種情況發生了一些修改後,所以我想擴大爲Tomcat PermGen的空間。我可以在獨立的tomcat上輕鬆完成,但在IntelliJ中找不到可以將IntelliJ傳遞給Tomcat插件的permgen空間。 – Marco

+0

放大燙髮只會延遲它。當燙髮器充滿時,您仍會收到OOM錯誤。 – duffymo

+0

我知道它會延遲,但每當我改變一個文件的東西編譯等,並填補了permgen。我無法解決這個問題。因此,在開發過程中擴大permgen解決了我的問題。但我會接受你的建議,並在以後使用VisualVM來搜索潛在的問題! – Marco