2014-09-02 38 views
2

當我從命令行使用mvn gwt:debug(或運行)運行我的應用程序時,將打開GWT控制檯。準備就緒後,我複製URL並通過瀏覽器打開。但有時,在GWT控制檯掛起一段時間後,會拋出OutOfMemoryError(在命令行java.lang.OutOfMemoryError: PermGen space)。我唯一能做的就是關閉控制檯。它隨機發生 - 剛剛在瀏覽器中打開或幾秒/分鐘後等。 (通常在執行操作時)。GWT mvn gwt:調試拋出OutOfMemoryError

問題可能是我在應用程序啓動時將大量數據加載到內存中。但是在數據加載後它會掛起。我通過互聯網搜索,試圖改變Java和Maven XMX(嘗試了甚至可笑的價值,如4GB),但仍然沒有運氣。有趣的是,對於同一個項目中的一位同事來說,它的效果很好(他的XMX設置爲300MB),其餘的團隊和我一樣都有同樣的問題。但是我們無法找到,我們的配置差異是什麼。從項目的角度來看,我們使用相同的配置。

我知道,如果涉及到性能方面,GWT是非常可怕的。有任何想法嗎?

解決

我加參數,如@ThomasBroyer建議。現在很好用!在我的情況下,這是PermGenSpace問題,所以我需要添加

-Dgwt.extraJvmArgs="--XX:MaxPermSize=512m" 

再次感謝。

回答

2

確保您正在調整GWT DevMode進程的內存,而不是Maven進程。在命令行上使用extraJvmArgs(或-Dgwt.extraJvmArgs="-Xmx4g")將JVM參數傳遞給分叉進程。

+0

謝謝!它爲我工作,更新了我的問題。 – 2014-09-04 08:08:14

+0

是的:4g!不要猶豫與記憶。我所遇到的所有例子都讓我相信1024m就足夠了。如果你的GWT開發模式不斷崩潰,那就拍4g!爲我工作,謝謝! :P – 2015-02-17 20:03:30