【问题标题】:Exception in thread "main" java.lang.OutOfMemoryError: GC overhead limit exceeded in GWT application线程“主”java.lang.OutOfMemoryError 中的异常:GWT 应用程序中超出了 GC 开销限制
【发布时间】:2012-06-20 22:25:39
【问题描述】:

我正在使用 GWT 和 GAE 开发应用程序。当我尝试重建它或创建一个工件时,我收到很多错误,如下图所示。

我搜索了 google 和 Stack Overflow,我得到了一些答案,但没有解决我的特定问题。

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

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

【问题讨论】:

  • 如果可能的话,如果您将错误消息发布在代码块中,我们会更容易
  • 我想如果我给你看全图会更好。但我会尝试过去的错误。
  • 对不起,但我似乎必须分别复制和粘贴每一行,所以如果你能尝试得到错误,我将不胜感激。
  • 抱歉我的英语不好。

标签: java google-app-engine gwt


【解决方案1】:

在 NetBeans 8.2 中执行以下操作

右键单击项目名称 -> 属性 -> Google Web Toolkit

将 JVM 参数修改为 -Xmx512M

点击确定

再次运行

这适用于我在 Windows 10、Netbeans 8.2、GWT 2.8.2、JDK 1.8 上

【讨论】:

    【解决方案2】:

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

    我的解决方案是编辑 nbproject/gwt.properties:

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

    【讨论】:

    • 很高兴知道,但当时我使用的是 IDEA Intellij :)
    【解决方案3】:

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

    【讨论】:

      【解决方案4】:

      我也遇到了同样的问题

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

      当我尝试修复此错误时,它显示了相同的错误。所以不要惊慌,只需在 Run->Run Configurations->Click on arguments->inside VM arguments type 中设置此选项来增加大小

       -Xms1024M -Xmx2048M
      

      Xms- 最小限制

      Xmx- 表示最大限制

      【讨论】:

      • 在intellij中怎么办??
      【解决方案5】:

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

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

      【讨论】:

      • +1 太棒了,谢谢!显然我正在配置另一个(并且错误的)“编译器限制”属性......
      • 但是在 linux 的 eclipse juno 中哪里可以看到这个选项。我遇到了同样的错误,但无法更改我的限制属性
      • 结帐chopu答案!
      • Android Studio 中的“打开模块设置”在哪里? “项目模块”是什么意思?请帮助,我无法找到它。看起来你在 Linux 上工作,在 Windows 上叫什么?
      • @ShirishHerwade 我附上了一张截图,如果你在 Windows 中找不到它,只需在谷歌中搜索它是如何找到的,Intellij 的界面从版本到另一个版本,从操作系统到另一个,请在网上搜索一下,我不能为每个操作系统的每个版本都提供解决方案:)
      【解决方案6】:

      Adio 的回答是正确的,除了当我们添加“gwt-mobile”库时我需要将其更改为 1000Mb - 512 Mb 仍然给我“GC 开销限制”错误。我认为 128Mb 是一个相当糟糕的默认值 - 即使在我们开始编写应用程序时,它也对我们不起作用。

      【讨论】:

        猜你喜欢
        • 2011-10-06
        • 2018-06-13
        • 2014-05-15
        • 1970-01-01
        • 2018-08-13
        • 2019-03-09
        • 2017-12-27
        • 2020-07-05
        相关资源
        最近更新 更多