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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了线程“main”中的异常java.lang.OutOfMemoryError:GWT应用程序中超出了GC开销限制相关的知识,希望对你有一定的参考价值。

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

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

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

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

答案

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

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

另一答案

我遇到了同样的问题

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

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

 -Xms1024M -Xmx2048M

Xms-最小限制

Xmx-为最大限制

另一答案

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

另一答案

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

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

# Additional JVM arguments for the GWT compiler
gwt.compiler.jvmargs=-Xmx1024M
另一答案

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

另一答案

在NetBeans 8.2中,执行以下操作

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

将JVM参数修改为-Xmx512M

单击确定

再次运行

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

以上是关于线程“main”中的异常java.lang.OutOfMemoryError:GWT应用程序中超出了GC开销限制的主要内容,如果未能解决你的问题,请参考以下文章

我的代码上的线程“main”java.util.NoSuchElementException 中的异常?

如何修复运行时错误-线程“main”java.util.NoSuchElementException中的异常

HTTPClient 示例 - 线程“main”中的异常 java.lang.NoSuchFieldError: INSTANCE

为啥我在代码中的线程“main”java.lang.StringIndexOutOfBoundsException 错误中收到异常?

线程“main”中的 Java 异常 java.lang.StringIndexOutOfBoundsException 错误

线程“main”中的异常 java.lang.ExceptionInInitializerError (Clojure)