web-dev-qa-db-ja.com

スレッド「メイン」Java.lang.OutOfMemoryErrorの例外:GWTアプリケーションでGCオーバーヘッド制限を超えました

私はGWTとGAEでアプリケーションを開発しています。再構築またはアーティファクトを作成しようとすると、下の図に示すような多くのエラーが発生します。

私はグーグルとスタックオーバーフローを検索し、いくつかの答えを得ましたが、私の特定の問題には答えませんでした。

私が理解していることから、ガベージコレクターが大量のメモリを消費するため、エラーが発生します。

enter image description here

ここに主なエラーがありますException in thread "main" Java.lang.OutOfMemoryError: GC overhead limit exceeded

12
Adelin

OK、問題を修正しました。仮想マシンがプロジェクトをコンパイルするために必要なメモリを増やすだけです。以前は128でしたが、現在は512に変更しています。プロジェクトが大きくなるにつれて、プロジェクトのクラスをコンパイルするためにより多くのメモリが必要になりました。InjtelljIDEAでこれを行う方法は次のとおりです。プロジェクトモジュールを右クリック->モジュール設定を開く->モジュール-> GWT->コンパイラの最大ヒープサイズ(Mb)-> 512に変更。

enter image description here

注:Ideal Intellij 12+の場合プロジェクト設定は次の場所にあります:ファイル->プロジェクト構造OR Ctrl + Alrt + Shitf + S

14
Adelin

私は同じ問題に遭遇しました

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

このエラーを修正しようとすると、同じエラーが表示されました。したがって、慌てる必要はなく、[実行]-> [構成の実行]-> [引数をクリック]-> [内部] VM引数タイプ)でこのオプションを設定して、サイズをもう少し増やしてください。

 -Xms1024M -Xmx2048M

Xms-最小制限

Xmx-上限

4
chopss

Adioの答えは正解ですが、「gwt-mobile」ライブラリを追加したときに1000Mbに変更する必要がありました。512Mbでも「GCオーバーヘッド制限」エラーが発生していました。 128Mbはかなり貧弱なデフォルトだと思います。これは、アプリを書き始めたときでも機能しませんでした。

2
Tim Cooper

NetBeansのプロジェクトプロパティを介して設定を変更しても機能しませんでした。

私の解決策は、nbproject /gwt.propertiesを次のように編集することでした。

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

NetBeans 8.2では、次のようにします

プロジェクト名->プロパティ-> Google WebToolkitを右クリックします

JVM引数を-Xmx512Mに変更します

[OK]をクリックします

再実行

これは、Windows 10、Netbeans 8.2、GWT 2.8.2、JDK1.8で動作します。

0
javo_O-

私はネット上の多くの投稿ですべての提案を試しましたが、どれもうまくいきませんでした。多くの実験を重ねた結果、OSXでG1GCガベージコレクターを使用することで大きな違いが生まれることに気づきました。 ANTを使用している場合は、ビルドファイルがG1GCガベージコレクターを使用してコンパイラーを起動することを確認する必要があります