当我从命令行使用mvn gwt:debug
(或运行)运行我的应用程序时,将打开GWT控制台。准备好后,我复制URL并通过浏览器打开。但有时,经过一段时间GWT控制台挂起,然后抛出OutOfMemoryError
(在命令行java.lang.OutOfMemoryError: PermGen space
中)。我唯一能做的就是关闭控制台。它是随机发生的 - 在浏览器中打开后或几秒钟/几分钟后等。 (通常在执行操作时)。
问题可能是,我在应用程序启动时将大量数据加载到内存中。但是在加载数据后它会挂起。我通过互联网搜索,试图改变Java和Maven XMX(尝试过甚至荒谬的价值,比如4GB),但仍然没有运气。有趣的是,对于同一项目中的一位同事而言,它工作得很好(并且他的XMX设置为300MB),团队的其他成员也像我一样有同样的问题。但我们无法找到,我们的配置差异是什么。从项目的角度来看,我们使用相同的配置。
我知道,如果谈到性能问题,GWT会很糟糕。有什么想法吗?
解决
我添加了论据,正如@ThomasBroyer建议的那样。现在很棒!在我的情况下,它是PermGenSpace问题,所以我需要添加
-Dgwt.extraJvmArgs="--XX:MaxPermSize=512m"
再次感谢。
答案 0 :(得分:2)
确保调整GWT DevMode进程的内存,而不是Maven进程。使用extraJvmArgs
(或命令行上的-Dgwt.extraJvmArgs="-Xmx4g"
)将JVM args传递给分叉进程。