2

我厌倦了以下烦人的错误,我该如何解决?如果我使用 Tomcat 而不是 GlassFish 会解决问题吗?我在本地运行,如果我在服务器上运行相同的应用程序会不会一样?

SEVERE: java.lang.OutOfMemoryError: PermGen space

SEVERE: Exception in module org.glassfish.main.core.kernel [228] : 
java.lang.OutOfMemoryError: PermGen space
SEVERE: Exception in module org.glassfish.main.core.kernel [228] : 
java.lang.RuntimeException: java.lang.OutOfMemoryError: PermGen space
SEVERE: Exception in thread "RMI RenewClean-[10.0.0.12:8686]" 
4

3 回答 3

4

您是否尝试过增加 glassfish 的内存?

1) 转到"domain.xml“在/glassfish/domain/domain1/config

寻找<jvm-options>-XX:MaxPermSize=

增加它的价值198m or 256m,例如,甚至更多1024m

2)停止玻璃鱼然后重新启动它。

于 2013-08-16T01:09:31.413 回答
2

每当您重新部署应用程序时,都需要重新启动服务器以清理其内存,因为我对 Tomcat 也有类似的问题。

更改内存大小只会延迟问题,但不会阻止它。

此外,需要使用 IDE 的插件(例如Profiler for netbeans 或其他可用软件)来查找应用程序的内存泄漏。

此外,正如 Shaunak 所说,您可以在 /glassfish/domain/domain1/config/domain.xml 文件中更改 perm 内存的大小。

于 2013-08-16T05:40:52.827 回答
1

如果您在第一次尝试部署应用程序时遇到此错误,那么通过 domain.xml 配置增加 permgen 空间可能会有所帮助。

但请注意,您可能会遇到 glassfish 缺陷,导致迭代部署时出现 permgen 错误。

https://java.net/jira/browse/GLASSFISH-587

于 2013-08-16T01:13:10.780 回答