我在 Glassfish 3.1 上运行 GWT+Hibernate 应用程序。几个小时后,我的 Permgen 空间用完了。这没有任何 webapp 重新加载。我正在运行–XX:MaxPermSize=256m –XmX1024m
。
我从这个页面得到了建议,发现我泄露了大量的类——我所有的 Hibernate 模型和我所有的 GWT RequestFactory 代理。
上面引用的指南说“检查链,找到意外引用并修复代码”。说起来容易做起来难。
类加载器总是指向一个org.glassfish.web.loader.WebappClassLoader
. 进一步挖掘,我发现了很多来自$Proxy135
和类似名称的对象的引用。但我不知道还有什么办法可以通过。