Intellijコンパイラにより多くのヒープスペースを与えるにはどうすればよいですか?


106

Intellijプロジェクトを作成すると、次のメモリ不足エラーが発生します。

私はすでにヒープサイズを増やしましたidea.vmoptions

-Xms128m
-Xmx2048m
-XX:MaxPermSize=1024m
-XX:ReservedCodeCacheSize=64m
-ea

しかし、私はまだこのエラーが発生します:

Information:The system is out of resources.
Information:Consult the following stack trace for details.
Information:java.lang.OutOfMemoryError: Java heap space
Information:    at com.sun.tools.javac.util.Position$LineMapImpl.build(Position.java:139)
Information:    at com.sun.tools.javac.util.Position.makeLineMap(Position.java:63)
Information:    at com.sun.tools.javac.parser.Scanner.getLineMap(Scanner.java:1105)
Information:    at com.sun.tools.javac.main.JavaCompiler.parse(JavaCompiler.java:512)
Information:    at com.sun.tools.javac.main.JavaCompiler.parse(JavaCompiler.java:550)
Information:    at com.sun.tools.javac.main.JavaCompiler.parseFiles(JavaCompiler.java:804)
Information:    at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:727)
Information:    at com.sun.tools.javac.main.Main.compile(Main.java:353)
Information:    at com.sun.tools.javac.main.Main.compile(Main.java:279)
Information:    at com.sun.tools.javac.main.Main.compile(Main.java:270)
Information:    at com.sun.tools.javac.Main.compile(Main.java:69)
Information:    at com.sun.tools.javac.Main.main(Main.java:54)
Information:    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
Information:    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
Information:    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
Information:    at java.lang.reflect.Method.invoke(Method.java:597)
Information:    at com.intellij.rt.compiler.JavacRunner.main(JavacRunner.java:71)
Information:Compilation completed with 1 error and 0 warnings
Information:1 error
Information:0 warnings
Error:Compiler internal error. Process terminated with exit code 3

何が欠けていますか?

回答:


157

現行版:

SettingsPreferencesMacの場合)| Build, Execution, Deployment| Compiler| ビルドプロセスのヒープサイズ

古いバージョン:

SettingsPreferencesMacの場合)| Compiler| Java Compiler| 最大ヒープサイズ

コンパイラーはデフォルトで別のJVMで実行されるため、idea.vmoptionsユーザーが設定したIDEAヒープ設定はコンパイラーに影響を与えません。


10
その後、再起動が必要です:)
cgl 2013

9
実際にはそうではありません
jarandaf 2013

11
これは少し話題から外れていますが、誰かがこれに遭遇した場合、髪の毛を節約できるかもしれません。私も同じ問題を抱えていましたがmvn install、IntelliJでをやっていたときから生じました。解決策はSettings | Maven | Runner | **VM Options** 、私がそれを正しくするまで、他のすべての設定を試したに違いないということです。それが誰かを助けることを願っています。
FuriousGeorge 2013

14
@ clankill3rトライSettings| Compiler| Build process heap size
CrazyCoder 14

5
Intellijのより新しいバージョン(私のバージョンは2016.1.3)では、このパラメーターは「ビルドプロセスヒープサイズ(Mバイト)」と呼ばれ、「設定|ビルド、実行、デプロイメント|コンパイラー」にあります。
tomger

95

IntelliJ 2016以降、場所はFile | 設定| ビルド、実行、展開| コンパイラ| ビルドプロセスのヒープサイズ

ここに画像の説明を入力してください


2
2000 MBに変更しましたが、それでも動作しませんでした。
R11G

5

Antビルドにも同様の問題がありました(IDEA GUIから手動で開始)。私の場合、Antタスクを右クリックしてプロパティを選択し、「最大ヒープスペース(Mb):」および「最大スタックスペース(Mb):」入力フィールドに高い値を設定する適切なソリューションがありました。

ここに画像の説明を入力してください


5

この問題を解決するには、以下の手順に従ってください-

1)。inteliで、[ファイル]> [オプションの設定]に移動し、Vmオプションを検索します。インポーターの[Vmオプション]のフィールドで、値-Xmx512mを指定します。 Intelij設定オプション

2)。[コントロールパネル]に移動し、[表示方法]:[大きいアイコン]をクリックします。次に[Javaに移動]というプロンプトウィンドウが表示され、javaコントロールパネルという名前が表示され、[Java Java VMオプション]に移動し ます。

表示オプションを選択します。 Javaビューオプション

Javaランタイム環境では、ランタイムパラメータを-Xmx1024mとして渡します。

3)。上記のオプションが機能しない場合は、pom.xmlのサイズを変更してください


なぜそのリンクを編集したのですか?ここで何が起こったのか怖いですか?
Glorfindel

私は正しい答えを与え、別のウェブサイトにクレジットを与えましたが、それでも自分の答えに対する2つの反対票を見ることができます。
ジミーテン2018

別のウェブサイトにクレジットを付与できるかどうか教えてください。
ジミーテン2018

2
その一時的な反対票は私からのものでした。クレジットを付与したい場合は、チュートリアルのリストではなく、情報を見つけた正確なページにリンクしてください。
Frenzy Li

3

Intellij 12のGWT

FWIW、 ' ビルド中にGWTアプリケーションで同様のエラーが発生しましたプロジェクトを再構築します。

これはIntellijが完全なGWTコンパイルを実行したために発生しました。これも非常に長いプロセスであるため、私は好きではありませんでした。

' プロジェクト構造|の下にあるモジュールチェックボックスをオフにして、GWTコンパイルを無効にしましたファセット| GWT '。

または、その場所にも「コンパイラの最大ヒープサイズ」設定があります。


0

私の場合、エラーはmavenの「テスト」ライフサイクルに割り当てられたメモリ不足が原因でした。以下に追加<argLine>-Xms3512m -Xmx3512m</argLine>することで修正されました:

<pluginManagement>
  <plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.16</version>
        <configuration>
            <argLine>-Xms3512m -Xmx3512m</argLine>

これを指摘してくれた@crazycoderに感謝します(この場合IntelliJとは関係ありません)。

テストが分岐している場合、Maven JVMオプションを継承しない新しいJVMでテストが実行されます。カスタムメモリオプションは、pom.xmlのテストランナーを介して提供する必要があります。詳細については、Mavenのドキュメントを参照してください。IDEとはほとんど関係がありません。


0

maven installコマンドを使用してプロジェクトをビルドしているときに、「java.lang.OutOfMemoryError:Java heap space」エラーが発生していました。

Mavenランナーの設定を変更することで、それを取り除くことができました。

Settings| Build, Execution, Deployment| Build Tools| Maven| Runner| VM optionsから-Xmx512m


-3

あります

idea64.exe

スターター

IntelliJ IDEA 13.1.5 \ bin

より多くのスペースを扱うことができます。


上記の質問の文脈ではありませんが、この答えはある程度正しいです。idea64.exeはより多くのpermgenメモリを提供します。64ビットOSを使用している場合はidea64.exeを使用してください。ビルド中にmemが不足すると、便利なcoz 32bit idea.exeがクラッシュしました。
アディルH.ラザ2017
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.