2014-07-17 21 views
1

几天前,我们将应用程序从wls 10.3.5.0(Java6)移动到wls 12.1.3.0.0(Java7)。我们有测试服务器,每天的竹代理部署几个应用程序,并对这个服务器运行一些测试。问题是,当我们升级到WLS 12再有就是错误内存溢出异常后2-3天:在weblogic中重复发生内存不足12

Exception in thread "[ACTIVE] ExecuteThread: '166' for queue: 'weblogic.kernel.Default (self-tuning)'" java.lang.OutOfMemoryError: PermGen space 
Exception in thread "[STUCK] ExecuteThread: '35' for queue: 'weblogic.kernel.Default (self-tuning)'" java.lang.OutOfMemoryError: PermGen space 

在WLS 10我们没有这个问题。在网络启动时,我设置了这个参数: -Xms2048m -Xmx2048m -XX:PermSize=512m -XX:MaxPermSize=1024m -Xss1m但仍然出现错误。

+0

看起来像permgen泄漏。 http://www.javacodegeeks.com/2012/12/what-is-a-permgen-leak.html –

+0

我不这么认为。我认为这是因为我们每天都在部署应用程序(20)的情侣。我们还有开发服务器,我们只部署应用程序一次,在这里运行没有问题 – hudi

+0

PermGen泄漏与频繁部署完全相关。 –

回答

1

1确认服务器确实使用了512m的perm空间。 2确保您显式取消部署并部署新版本的应用程序。如果需要显式删除旧应用程序,甚至删除临时和阶段文件夹内容。

当wls认为它需要所有新旧类时,你会用完烫发空间。