Bagaimana cara memberi kompiler Intellij lebih banyak ruang heap?


106

Ketika saya membuat proyek Intellij, saya terus mendapatkan kesalahan memori berikut ini.

Saya sudah meningkatkan ukuran heap saya di idea.vmoptions:

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

Tapi saya masih mendapatkan kesalahan ini:

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

Apa yang saya lewatkan?

Jawaban:


157

Versi sekarang:

Settings( Preferencesdi Mac) | Build, Execution, Deployment| Compiler| Buat ukuran heap proses .

Versi yang lebih lama:

Settings( Preferencesdi Mac) | Compiler| Java Compiler| Ukuran heap maksimum .

Kompiler berjalan di JVM terpisah secara default sehingga setelan heap IDEA yang Anda setel idea.vmoptionstidak berpengaruh pada compiler.


10
Dan restart diperlukan setelahnya :)
cgl

9
Sebenarnya tidak
jarandaf

11
Saya tahu ini sedikit keluar dari topik tetapi mungkin menyelamatkan seseorang jika mereka menemukan ini. Saya mengalami masalah yang sama, tetapi masalah saya berasal dari saat saya melakukan mvn installdi IntelliJ. Solusinya adalah untuk memodifikasi Settings | Maven | Runner | **VM Options** Saya harus mencoba setiap pengaturan lain di sana sampai saya mendapatkan yang benar. Semoga bisa membantu seseorang.
FuriousGeorge

14
@ clankill3r coba Settings| Compiler| Build process heap size.
CrazyCoder

5
Untuk versi Intellij yang lebih baru (milik saya adalah 2016.1.3) parameter ini disebut "Build process heap size (Mbytes)" dan dapat ditemukan di "Settings | Build, Execution, Deployment | Compiler".
tomger

95

Sejak IntelliJ 2016, lokasinya adalah File | Pengaturan | Bangun, Eksekusi, Penerapan | Penyusun | Buat ukuran heap proses .

masukkan deskripsi gambar di sini


2
Saya mengubahnya menjadi 2000 MB tetapi tetap tidak berhasil untuk saya.
R11G

5

Saya memiliki masalah serupa dengan build Ant (dimulai dengan tangan dari IDEA GUI). Dalam kasus saya, ada solusi yang tepat untuk klik kanan pada tugas Ant, pilih properti dan tetapkan nilai yang lebih tinggi ke bidang masukan "Ruang tumpukan maksimum (Mb):" dan "Ruang tumpukan maksimum (Mb):".

masukkan deskripsi gambar di sini


5

Untuk mengatasi masalah ini ikuti langkah-langkah yang diberikan di bawah ini-

1). Masuk ke menu File> Setting Option dan Search for Vm Option Pada field Vm Option for Importer berikan nilai -Xmx512m. Opsi Pengaturan Intelij

2). Masuk ke Control Pannel Pilih View by: Large icons lalu Go to Java satu jendela prompt akan muncul dengan nama java control pannel lalu masuk ke java Java VM Options

pilih opsi tampilan. opsi tampilan java

Di Jawa, Pengaturan Lingkungan Waktu Jalankan lulus Parameter waktu proses sebagai -Xmx1024m .

3). Jika opsi yang diberikan di atas tidak berfungsi, ubah ukuran pom.xml


Mengapa Anda mengedit tautan itu? Apakah Anda takut dengan apa yang terjadi di sini ?
Glorfindel

Saya telah memberikan jawaban yang benar dan saya telah memberikan kredit ke situs web lain tetapi masih saya dapat melihat dua suara negatif untuk jawaban saya. dan jawaban yang saya berikan secara praktis benar yang telah saya hadapi dan selesaikan.
Jimy Ten

tolong beri tahu saya jika saya dapat memberikan kredit ke situs web lain.
Jimy Ten

2
Suara negatif sementara itu dari saya. Jika Anda ingin memberikan kredit, harap tautkan ke halaman yang tepat di mana Anda menemukan informasinya, bukan daftar tutorial.
Frenzy Li

3

GWT di Intellij 12

FWIW, saya mendapatkan kesalahan serupa dengan aplikasi GWT saya selama ' Build | Rebuild Project '.

Hal ini disebabkan oleh Intellij melakukan kompilasi GWT lengkap yang tidak saya sukai karena prosesnya juga sangat lama.

Saya menonaktifkan kompilasi GWT dengan mematikan kotak centang modul di bawah ' Struktur Proyek | Aspek | GWT '.

Selain itu, terdapat pengaturan ' Ukuran heap maksimum kompiler ' di lokasi itu juga.


0

Dalam kasus saya, kesalahan tersebut disebabkan oleh memori yang tidak mencukupi yang dialokasikan untuk siklus hidup "test" dari maven. Itu diperbaiki dengan menambahkan <argLine>-Xms3512m -Xmx3512m</argLine>ke:

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

Terima kasih @crazycoder karena telah menunjukkan hal ini (dan juga bahwa ini tidak terkait dengan IntelliJ; dalam kasus ini).

Jika pengujian Anda bercabang, pengujian tersebut berjalan di JVM baru yang tidak mewarisi opsi JVM Maven. Opsi memori kustom harus disediakan melalui runner pengujian di pom.xml, lihat dokumentasi Maven untuk detailnya, ini tidak ada hubungannya dengan IDE.


0

Saya menghadapi kesalahan "java.lang.OutOfMemoryError: Java heap space" saat membangun proyek saya menggunakan perintah maven install.

Saya bisa menyingkirkannya dengan mengubah pengaturan pelari maven.

Settings| Build, Execution, Deployment| Build Tools| Maven| Runner| VM optionshingga -Xmx512m


-3

Ada sebuah

idea64.exe

memulai

IDE IntelliJ 13.1.5 \ bin

sehingga Anda dapat menangani lebih banyak ruang.


Jawaban ini sampai batas tertentu benar, meskipun tidak dalam konteks pertanyaan di atas. idea64.exe memberi Anda lebih banyak memori permgen, gunakan idea64.exe jika Anda menggunakan OS 64bit. Merasa berguna karena idea.exe 32bit macet saat kehabisan mem selama pembuatan.
Adil H. Raza
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.