2014-07-17 19 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認爲它需要所有新舊類時,你會用完燙髮空間。