2013-05-12 10 views
0

我有一個播放應用程序,我想在碼頭服務器上運行。 我使用Play的buit在戰爭中產生了一場戰爭, play war(app)-o(output.war)播放幀在碼頭上產生的戰爭燙髮問題

當我將生成的war導入到Jetty的webapps並運行應用程序時; java.lang.OutOfMemoryError:PermGen的空間

我用Google搜索周圍找到一個解決方案,但可用的解決方案,以增加燙髮根大小和JVM參數類卸載所有不工作。

我厭倦了使用Plumbr分析預設尺寸大小,但它不生成報告。

最後我用java內置的堆分析器; JMAP -permstat

29928實習生字符串佔用3174488個字節。 class_loader classes bytes parent_loader alive?鍵入

2764 15979584空活

總= 1 2764 15979584 N/A存活= 1,死= 0 N/A

這是JVM後統計開始投擲PREM根錯誤。類加載器的大小和靜態字符串是相當少的,小於64 MB(我已經增加了預設的大小爲1GB甚至相同的錯誤)

請建議,因爲我無法找到問題的路由原因。

+0

你應該把有關版本的更多相關信息,我們不是玻璃球的運營商 – biesior 2013-05-13 14:19:35

回答

0
  1. 與「-XX:-HeapDumpOnOutOfMemoryError」啓動應用程序,JVM選項
  2. 時,如果你再次得到OOM,JVM會產生一個堆轉儲文件。
  3. Eclipse Memory Analyzer
  4. 打開它讓它生成一個報告,你