2011-12-20 8 views
54

Cuando hago un proyecto Intellij, sigo recibiendo el siguiente error de memoria.¿Cómo puedo darle al compilador Intellij más espacio en el montón?

ya he aumentado mi tamaño de la pila en idea.vmoptions:

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

Pero aún así obtener este error:

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 

¿Qué me falta?

Respuesta

75

versión actual:

Settings (Preferences en Mac) | Build, Execution, Deployment | Compiler | Tamaño del montón de proceso de compilación.

Las versiones más antiguas:

Settings (Preferences en Mac) | Compiler | Java Compiler | Tamaño máximo de almacenamiento dinámico.

El compilador se ejecuta en una JVM independiente de forma predeterminada, por lo que la configuración de IDEA Heap que configura en idea.vmoptions no tiene ningún efecto en el compilador.

+6

Y es necesario reiniciar después :) – cgl

+3

en realidad no es – jarandaf

+5

Sé que esto es un poco fuera de tema, pero podría salvar a alguien un poco de pelo si se encuentran con esto. Estaba teniendo el mismo problema, pero el mío se originó cuando estaba haciendo una 'mvn install' en IntelliJ. La solución fue modificar 'Configuración | Maven | Runner | ** Opciones de máquina virtual ** 'Debo haber probado todas las demás configuraciones hasta que lo haya hecho bien. Espero que ayude a alguien. – FuriousGeorge

3

GWT en IntelliJ 12

Fwiw, yo estaba recibiendo un error similar con mi aplicación GWT durante 'Construir | Rebuild Project '.

Esto fue causado por Intellij haciendo una compilación completa de GWT que no me gustó porque también es un proceso muy largo.

Inhabilité la compilación de GWT desactivando las casillas de verificación del módulo en 'Estructura del proyecto | Facetas | GWT '.

Alternativamente, hay una configuración 'Compiler maximum heap size' en esa ubicación también.

0

En mi caso, el error fue causado por la memoria insuficiente asignada al ciclo de vida de "prueba" de maven. Se fija mediante la adición de <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> 

Gracias @crazycoder por señalar esto (y también que no está relacionado con IntelliJ; en este 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

No es un motor de arranque

idea64.exe

en

IntelliJ IDEA 13.1.5\bin

para que pueda abordar con mayor espacio.

+0

Esta respuesta es en cierta medida correcta, aunque no está en el contexto de la pregunta anterior. idea64.exe le da más memoria permgen, use idea64.exe si tiene un sistema operativo de 64 bits. Lo encontré útil coz 32bit idea.exe se bloqueaba cuando se queda sin memoria durante la compilación. –

56

Desde IntelliJ 2016, la ubicación es Archivo | Configuración | Build, Execution, Deployment | Compilador | Genere el tamaño del montón de proceso.

enter image description here

1

He tenido un problema similar con Ant (iniciado por parte de interfaz gráfica de usuario IDEA). En mi caso, existía la solución correcta para hacer clic con el botón derecho en la tarea Ant, seleccionar propiedades y establecer un valor superior para los campos de entrada "Espacio en el montón máximo (Mb):" y "Máximo espacio de pila (Mb):".

enter image description here

Cuestiones relacionadas