2011-12-20 13 views
54

Quando creo un progetto Intellij, continuo ad avere il seguente errore di memoria insufficiente.Come posso dare al compilatore Intellij più spazio sull'heap?

ho già aumentato la mia dimensione heap in idea.vmoptions:

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

Ma ho ancora ottenere questo errore:

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 

Che cosa mi manca?

risposta

75

versione attuale:

Settings (Preferences su Mac) | Build, Execution, Deployment | Compiler | Dimensione heap del processo di creazione.

vecchie versioni:

Settings (Preferences su Mac) | Compiler | Java Compiler | Dimensione heap massima.

Il compilatore viene eseguito in una JVM separata per impostazione predefinita, pertanto le impostazioni heap IDEA impostate in idea.vmoptions non hanno alcun effetto sul compilatore.

+6

E è necessario un riavvio dopo :) – cgl

+3

In realtà non è – jarandaf

+5

So che questo è un po 'off-topic ma potrebbe salvare qualcuno un po' di capelli se si imbattono in questo. Stavo avendo lo stesso problema, ma il mio derivava da quando stavo facendo un 'mvn install' in IntelliJ. La soluzione era modificare le 'Impostazioni | Maven | Runner | ** Opzioni VM ** 'Devo aver provato ogni altra impostazione fino a quando non ho ottenuto quella giusta. Spero che aiuti qualcuno. – FuriousGeorge

3

GWT in IntelliJ 12

FWIW, mi è stato sempre un errore simile con la mia applicazione GWT durante 'costruzioni | Ricostruisci il progetto ".

Questo è stato causato da Intellij che esegue una compilazione GWT completa che non mi piaceva perché è anche un processo molto lungo.

Ho disabilitato GWT compilando disattivando le caselle di controllo modulo sotto 'Struttura del progetto | Sfaccettature | GWT '.

In alternativa è disponibile anche l'impostazione 'Dimensioni heap heap' del compilatore in quella posizione.

0

Nel mio caso l'errore è stato causato dalla memoria insufficiente assegnata al ciclo di vita "test" di Maven. È stato risolto aggiungendo <argLine>-Xms3512m -Xmx3512m</argLine> a:

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

Grazie @crazycoder per la puntualizzazione (e anche che non è legato al IntelliJ, in questo caso).

If your tests are forked, they run in a new JVM that doesn't inherit Maven JVM options. Custom memory options must be provided via the test runner in pom.xml, refer to Maven documentation for details, it has very little to do with the IDE.

-3

C'è un antipasto

idea64.exe

in

IntelliJ IDEA 13.1.5\bin

in modo da poter affrontare in modo più spazio.

+0

Questa risposta è in qualche misura corretta, sebbene non sia nel contesto della domanda di cui sopra. idea64.exe ti dà più permgen memory, usa idea64.exe se sei su sistema operativo a 64 bit. Trovato utile coz 32 bit idea.exe si stava bloccando quando si esaurisce mem durante la build. –

56

Da IntelliJ 2016, la posizione è File | Impostazioni | Build, Execution, Deployment | Compilatore | Build heap size del processo.

enter image description here

1

Ho avuto un problema simile con Ant (iniziata a mano da GUI IDEA). Nel mio caso c'era la soluzione giusta per fare clic con il tasto destro sull'attività Ant, scegliere le proprietà e impostare un valore superiore su "Spazio heap massimo (Mb):" e "Spazio massimo stack (Mb):" campi di input.

enter image description here

Problemi correlati