Intellij derleyicisine nasıl daha fazla yığın alanı verebilirim?


106

Bir Intellij projesi yaptığımda aşağıdaki bellek yetersiz hatası alıyorum.

Yığın boyutumu zaten artırdım idea.vmoptions:

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

Ama yine de şu hatayı alıyorum:

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

Neyi kaçırıyorum?

Yanıtlar:


157

Şimdiki versiyonu:

Settings( PreferencesMac'te) | Build, Execution, Deployment| Compiler| İşlem yığın boyutu oluşturun .

Eski versiyonlar:

Settings( PreferencesMac'te) | Compiler| Java Compiler| Maksimum yığın boyutu .

Derleyici varsayılan olarak ayrı bir JVM'de çalışır, bu nedenle ayarladığınız IDEA yığın ayarlarının idea.vmoptionsderleyici üzerinde hiçbir etkisi yoktur.


10
Ve daha sonra yeniden başlatmak gerekiyor :)
cgl

9
Aslında öyle değil
jarandaf

11
Bunun biraz konu dışı olduğunu biliyorum, ancak bununla karşılaşırlarsa birisinin saçını kurtarabilir. Ben de aynı sorunu yaşıyordum, ancak benimki mvn installIntelliJ'de a yaptığım zamandan kaynaklanıyordu . Çözüm, doğru olana Settings | Maven | Runner | **VM Options** kadar oradaki her ayarı denemiş olmalıyım. Umarım birine yardımcı olur.
furiousgeorge

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

5
Intellij'in daha yeni sürümleri için (benimki 2016.1.3'tür) bu parametre "Derleme işlemi yığın boyutu (Mbyte)" olarak adlandırılır ve "Ayarlar | Derleme, Yürütme, Dağıtım | Derleyici" içinde bulunabilir.
tomger

95

IntelliJ 2016'dan beri konum Dosya | Ayarlar | Derleme, Yürütme, Dağıtım | Derleyici | İşlem yığın boyutu oluşturun .

görüntü açıklamasını buraya girin


2
2000 MB olarak değiştirdim ama yine de benim için çalışmadı.
R11G

5

Ant build ile benzer bir problemim vardı (IDEA GUI'den elle başlatıldı). Benim durumumda, Ant görevine sağ tıklamak, özellikleri seçmek ve "Maksimum yığın alanı (Mb):" ve "Maksimum yığın alanı (Mb):" giriş alanlarına daha yüksek bir değer ayarlamak için doğru çözüm vardı.

görüntü açıklamasını buraya girin


5

Bu sorunu çözmek için aşağıda verilen adımları izleyin.

1). Inteli'de Dosya> Ayar Seçeneğine Git ve Vm Seçeneğini Ara İthalatçı için Vm Seçeneği alanında -Xmx512m değerini verin. Intelij Ayar Seçenekleri

2). Kontrol Paneline gidin Görünüm seçin: Büyük simgeler, ardından Java'ya git java kontrol paneli adıyla bir bilgi istemi penceresi görünecek ve ardından java Java VM Seçenekleri'ne git

görünüm seçeneğini seçin. java görüntüleme seçenekleri

Java'da Çalışma zamanı Ortam Ayarı Çalışma zamanı Parametrelerini -Xmx1024m olarak geçer .

3). Yukarıda verilen seçenekler işe yaramazsa, pom.xml'nin boyutunu değiştirin


Bu bağlantıyı neden düzenlediniz ? Burada olanlardan korkuyor musun ?
Glorfindel

Doğru cevabı verdim ve başka bir web sitesine kredi verdim ama yine de cevabıma iki olumsuz oy verebiliyorum. ve verdiğim cevap pratikte doğru olan, karşılaştığım ve çözdüm.
Jimy Ten

Başka bir web sitesine kredi verebilir miyim lütfen bana bildirin.
Jimy Ten

2
Bu geçici olumsuz oy benden geldi. Kredi vermek istiyorsanız, lütfen öğretici listeye değil, bilgileri bulduğunuz tam sayfaya bağlantı verin.
Frenzy Li

3

Intellij 12'de GWT

FWIW, ' Build | ' sırasında GWT uygulamamda benzer bir hata alıyordum. Rebuild Project '.

Bunun nedeni Intellij'in tam bir GWT derlemesi yapmasından kaynaklanıyordu, bu da çok uzun bir süreç olduğu için hoşuma gitmedi.

' Proje Yapısı | altındaki modül onay kutularını kapatarak GWT derlemesini devre dışı bıraktım. Yönler | GWT '.

Alternatif olarak, bu konumda bir ' Derleyici maksimum yığın boyutu ' ayarı da vardır.


0

Benim durumumda, hata maven'in "test" yaşam döngüsüne ayrılan yetersiz bellekten kaynaklanıyordu. Eklenerek düzeltildi <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'a bunu işaret ettiği için teşekkürler (ve ayrıca bunun IntelliJ ile ilgili olmadığını; bu durumda).

Testleriniz çatallanmışsa, Maven JVM seçeneklerini devralmayan yeni bir JVM'de çalışırlar. Özel bellek seçenekleri, pom.xml'deki test çalıştırıcısı aracılığıyla sağlanmalıdır, ayrıntılar için Maven belgelerine bakın, IDE ile çok az ilgisi vardır.


0

Projemi maven install komutunu kullanarak oluştururken "java.lang.OutOfMemoryError: Java heap space" hatasıyla karşılaştım.

Maven koşucusu ayarlarını değiştirerek ondan kurtulmayı başardım.

Settings| Build, Execution, Deployment| Build Tools| Maven| Runner| VM optionsiçin -Xmx512m


-3

Var

idea64.exe

başlangıç

IntelliJ IDEA 13.1.5 \ bin

böylece daha fazla alana hitap edebilirsiniz.


Yukarıdaki soru bağlamında olmasa da bu cevap bir dereceye kadar doğrudur. idea64.exe size daha fazla permgen belleği sağlar, 64bit işletim sistemindeyseniz idea64.exe'yi kullanın. Yararlı buldum coz 32bit idea.exe, derleme sırasında mem bittiğinde çöküyordu.
Adil H. Raza
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.