¿Cómo puedo darle al compilador Intellij más espacio en el montón?

106

Cuando hago un proyecto de Intellij, sigo obteniendo el siguiente error de memoria.

Ya aumenté el tamaño de mi montón en idea.vmoptions:

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

Pero sigo recibiendo 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 estoy perdiendo?

Miguel
fuente

Respuestas:

157

Versión actual:

Settings( Preferencesen Mac) | Build, Execution, Deployment| Compiler| Genere el tamaño del montón del proceso .

Versiones mas antiguas:

Settings( Preferencesen Mac) | Compiler| Java Compiler| Tamaño máximo de pila .

El compilador se ejecuta en una JVM separada de forma predeterminada, por lo que la configuración del montón de IDEA que establezca idea.vmoptionsno tendrá ningún efecto en el compilador.

CrazyCoder
fuente
10
Y se requiere un reinicio después :)
cgl
9
En realidad no lo es
jarandaf
11
Sé que esto está un poco fuera de tema, pero podría salvar a alguien si se encuentra con esto. Estaba teniendo el mismo problema, pero el mío se originó cuando estaba haciendo un mvn installen IntelliJ. La solución fue modificar el Settings | Maven | Runner | **VM Options** . Debí haber probado todos los demás ajustes allí hasta que acerté. Espero que ayude a alguien.
FuriousGeorge
14
@ clankill3r probar Settings| Compiler| Build process heap size.
CrazyCoder
5
Para versiones más recientes de Intellij (la mía es 2016.1.3) este parámetro se llama "Tamaño del montón del proceso de compilación (Mbytes)" y se puede encontrar en "Configuración | Compilación, Ejecución, Implementación | Compilador".
tomger
95

Desde IntelliJ 2016, la ubicación es Archivo | Configuraciones | Construcción, ejecución, implementación | Compilador | Genere el tamaño del montón del proceso .

ingrese la descripción de la imagen aquí

Barbilla
fuente
2
Lo cambié a 2000 MB pero todavía no me funcionó.
R11G
5

Tuve un problema similar con la compilación de Ant (comenzada a mano desde IDEA GUI). En mi caso, existía la solución correcta para hacer clic con el botón derecho en la tarea Ant, elegir propiedades y establecer un valor más alto en los campos de entrada "Máximo espacio de pila (Mb):" y "Máximo espacio de pila (Mb):".

ingrese la descripción de la imagen aquí

Jan Němec
fuente
5

Para resolver este problema, siga los pasos que se indican a continuación:

1). En inteli, vaya a Archivo> Opción de configuración y busque la opción Vm. En el campo de Opción Vm para Importador, dé el valor -Xmx512m. Opciones de configuración de Intelij

2). Vaya a Panel de control Seleccione Ver por: Iconos grandes y luego Vaya a Java, aparecerá una ventana con el nombre Panel de control de java y luego vaya a Opciones de Java VM de Java

seleccione la opción de vista. opciones de vista de Java

En Java, la configuración del entorno de tiempo de ejecución pasa los parámetros de tiempo de ejecución como -Xmx1024m .

3). Si las opciones dadas anteriormente no funcionan, cambie el tamaño de pom.xml

Jimy diez
fuente
¿Por qué editaste ese enlace? ¿Tienes miedo de lo que pasó aquí ?
Glorfindel
He dado la respuesta correcta y le he dado crédito a otro sitio web, pero aún puedo ver dos votos negativos a mi respuesta y la respuesta que he dado es prácticamente correcta, la he enfrentado y resuelto.
Jimy Ten
por favor avíseme si puedo dar crédito a otro sitio web.
Jimy Ten
2
Ese voto negativo temporal fue mío. Si desea dar crédito, enlace a la página exacta donde encontró la información, no a una lista de tutoriales.
Frenzy Li
3

GWT en Intellij 12

FWIW, recibí un error similar con mi aplicación GWT durante ' Build | Proyecto de reconstrucción '.

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, también hay una configuración de ' Tamaño máximo de pila del compilador ' en esa ubicación.

Peter L
fuente
0

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

Si sus pruebas están bifurcadas, se ejecutan en una nueva JVM que no hereda las opciones de Maven JVM. Las opciones de memoria personalizadas deben proporcionarse a través del corredor de pruebas en pom.xml, consulte la documentación de Maven para obtener más detalles, tiene muy poco que ver con el IDE.

Neil
fuente
0

Me estaba enfrentando al error "java.lang.OutOfMemoryError: Java heap space" mientras construía mi proyecto usando el comando de instalación de maven.

Pude deshacerme de él cambiando la configuración del corredor maven.

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

Jaison
fuente
-3

Hay un

idea64.exe

entrante en

IntelliJ IDEA 13.1.5 \ bin

para que pueda abordar más espacio.

Julian Dehne
fuente
Esta respuesta es, en cierta medida, correcta, aunque no 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 porque 32bit idea.exe fallaba cuando se quedaba sin memoria durante la compilación.
Adil H. Raza