线程“main”中的异常java.lang.OutOfMemoryError:GWT应用程序中超出了GC开销限制

问题描述 投票:12回答:6

我正在使用GWT和GAE开发应用程序。当我尝试重建它或创建一个工件时,我会在下面的图片中看到很多错误。

我搜索了谷歌和Stack Overflow,我得到了一些答案,但不是我的特殊问题。

根据我的理解,我得到了错误,因为我的垃圾收集器消耗了大量内存。

这是Exception in thread "main" java.lang.OutOfMemoryError: GC overhead limit exceeded的主要错误。

java google-app-engine gwt
6个回答
14
投票

好的,我解决了这个问题。只需增加虚拟机编译项目所需的内存。以前它是128,现在我将它改为512.随着我的项目的增长,它需要更多的内存来编译项目的类。这是如何在Injtellj IDEA中做到这一点。右键单击项目模块 - >打开模块设置 - >模块 - > GWT - >编译器最大堆大小(Mb) - >更改为512。

注意:在Ideal Intellij 12+中项目设置位于:文件 - >项目结构或Ctrl + Alt + Shift + S.


4
投票

我遇到了同样的问题

Exception in thread “main” java.lang.OutOfMemoryError: GC overhead limit exceeded 

当我试图修复此错误时,它显示相同的错误。所以不要惊慌,只需通过在运行 - >运行配置 - >单击参数 - > VM参数类型中设置此选项来增加大小

 -Xms1024M -Xmx2048M

Xms-最小限制

Xmx-为最大限制


2
投票

Adio的答案是正确的,除了当我们添加“gwt-mobile”库时我需要将其更改为1000Mb - 512 Mb仍然给我“GC开销限制”错误。我认为128Mb的默认值非常差 - 即使我们开始编写应用程序,它也不适用于我们。


1
投票

通过netbeans中的项目属性更改配置不起作用。

我的解决方案是使用以下命令编辑nbproject / gwt.properties:

# Additional JVM arguments for the GWT compiler
gwt.compiler.jvmargs=-Xmx1024M

0
投票

我在网上的一些帖子中尝试了所有的建议,但没有一个有效。经过多次试验,最后我发现在OSX上使用G1GC垃圾收集器对我来说有很大的不同。如果您使用的是ANT,则必须确保构建文件使用G1GC垃圾收集器启动编译器


0
投票

在NetBeans 8.2中,执行以下操作

右键单击Project Name - > Properties - > Google Web Toolkit

将JVM参数修改为-Xmx512M

单击确定

再次运行

这适用于Windows 10,Netbeans 8.2,GWT 2.8.2,JDK 1.8

© www.soinside.com 2019 - 2024. All rights reserved.