Ric*_*ich 10 java garbage-collection memory-leaks
我正在研究Java 6 18 VM上垃圾收集的各种选项,并希望得到一些指示.
我们在JBoss上运行我们的应用程序,偶尔在重新部署期间会出现臭名昭着的PermGen错误.互联网上有很多相互矛盾和过时的信息,说明解决或缓解这个问题的最佳方法.
从我所看到的,以下是正确的:
我有两个问题:
CMSClassUnloadingEnabled
,并CMSPermGenSweepingEnabled
来到这个?从我可以看到CMSClassUnloadingEnabled
取代或隐含启用CMSPermGenSweepingEnabled
.他们中的任何一个都有助于解决上述问题吗?不幸的是,答案是:
基本问题是GC不会垃圾收集强可达对象.你需要弄清楚为什么那些旧的应用程序类加载器在重新部署后仍然可以访问...并修复泄漏.
或者,放弃在生产服务器上进行热重新部署,或者更频繁地重新启动Web容器(例如JBoss).