2014-09-02 55 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