Intellij 컴파일러에 더 많은 힙 공간을 제공하려면 어떻게해야합니까?


106

Intellij 프로젝트를 만들 때 다음과 같은 메모리 부족 오류가 계속 발생합니다.

이미 힙 크기를 늘 렸습니다 idea.vmoptions.

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

하지만 여전히이 오류가 발생합니다.

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

내가 무엇을 놓치고 있습니까?

답변:


157

현재 버전 :

Settings( PreferencesMac) | Build, Execution, Deployment| Compiler| 빌드 프로세스 힙 크기 .

이전 버전 :

Settings( PreferencesMac) | Compiler| Java Compiler| 최대 힙 크기 .

컴파일러는 기본적으로 별도의 JVM에서 실행되므로 설정 한 IDEA 힙 설정 idea.vmoptions은 컴파일러에 영향을주지 않습니다.


10
그리고 나중에 다시 시작해야합니다. :)
cgl

9
실제로 그렇지 않습니다
jarandaf 2013-09-15

11
나는 이것이 약간 주제에서 벗어난 것을 알고 있지만 누군가가 이것을 발견하면 머리카락을 절약 할 수 있습니다. 나는 똑같은 문제를 겪고 있었지만 mvn installIntelliJ에서 일할 때 비롯되었습니다 . 해결책은 Settings | Maven | Runner | **VM Options** 내가 그 설정을 바로 잡을 때까지 다른 모든 설정을 시도했을 것입니다. 누군가에게 도움이되기를 바랍니다.
FuriousGeorge 2013 년

14
@ clankill3r 시도 Settings| Compiler| Build process heap size.
CrazyCoder 2014

5
Intellij의 최신 버전 (내가 2016.1.3 임)의 경우이 매개 변수를 "빌드 프로세스 힙 크기 (MB)"라고하며 "설정 | 빌드, 실행, 배포 | 컴파일러"에서 찾을 수 있습니다.
tomger

95

IntelliJ 2016 이후 위치는 File | 설정 | 빌드, 실행, 배포 | 컴파일러 | 빌드 프로세스 힙 크기 .

여기에 이미지 설명 입력


2
2000MB로 변경했지만 여전히 작동하지 않았습니다.
R11G

5

Ant 빌드에서 비슷한 문제가 발생했습니다 (IDEA GUI에서 직접 시작). 제 경우에는 Ant 작업을 마우스 오른쪽 버튼으로 클릭하고 속성을 선택하고 더 높은 값을 "최대 힙 공간 (Mb) :"및 "최대 스택 공간 (Mb) :"입력 필드로 설정하는 올바른 솔루션이있었습니다.

여기에 이미지 설명 입력


5

이 문제를 해결하려면 아래 단계를 따르십시오.

1). inteli에서 File> Setting Option으로 이동하여 Vm Option 검색 Importer에 대한 Vm Option 필드에 -Xmx512m 값을 지정합니다. Intelij 설정 옵션

2). Control Pannel로 이동 View by : Large icons를 선택한 다음 Go to Java로 이동 프롬프트 창이 java control pannel 이라는 이름으로 표시 되고 java Java VM Options 로 이동합니다.

보기 옵션을 선택하십시오. 자바보기 옵션

Java 런타임 환경 설정에서 런타임 매개 변수를 -Xmx1024m 으로 전달 합니다.

삼). 위의 주어진 옵션이 작동하지 않으면 pom.xml의 크기를 변경하십시오.


그 링크 를 편집 한 이유는 무엇 입니까? 여기서 무슨 일이 일어 났는지 두렵 습니까?
Glorfindel

나는 정답을 주었고 다른 웹 사이트에 대한 크레딧을 주었지만 여전히 내 대답에 대해 두 개의 반대표를 볼 수 있습니다.
Jimy Ten

다른 웹 사이트에 크레딧을 줄 수 있는지 알려주세요.
Jimy Ten

2
그 일시적인 반대표는 나에게서 나온 것입니다. 크레딧을주고 싶다면 튜토리얼 목록이 아니라 정보를 찾은 정확한 페이지로 링크하십시오.
Frenzy Li

3

Intellij 12의 GWT

FWIW, ' Build | 프로젝트 '를 다시 빌드하십시오 .

이것은 Intellij가 전체 GWT 컴파일을 수행했기 때문에 발생했으며 매우 긴 프로세스이기 때문에 마음에 들지 않았습니다.

' Project Structure | '아래의 모듈 확인란을 해제하여 GWT 컴파일을 비활성화했습니다. 패싯 | GWT '.

또는 해당 위치에 ' 컴파일러 최대 힙 크기 '설정도 있습니다.


0

필자의 경우 오류는 maven의 "테스트"라이프 사이클에 할당 된 메모리가 부족하여 발생했습니다. 다음을 추가 <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에게 감사드립니다 (또한 IntelliJ와 관련이 없습니다;이 경우).

테스트가 분기 된 경우 Maven JVM 옵션을 상속하지 않는 새 JVM에서 실행됩니다. 커스텀 메모리 옵션은 pom.xml의 테스트 실행기를 통해 제공되어야합니다. 자세한 내용은 Maven 문서를 참조하세요. IDE와는 거의 관련이 없습니다.


0

maven 설치 명령을 사용하여 프로젝트를 빌드하는 동안 "java.lang.OutOfMemoryError : Java 힙 공간"오류가 발생했습니다.

메이븐 러너 설정을 변경하여 제거 할 수있었습니다.

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


-3

이있다

idea64.exe

스타터

IntelliJ IDEA 13.1.5 \ bin

더 많은 공간을 처리 할 수 ​​있습니다.


이 답변은 위의 질문과 관련이 없지만 어느 정도 정확합니다. idea64.exe는 더 많은 permgen 메모리를 제공하므로 64 비트 OS를 사용하는 경우 idea64.exe를 사용하세요. 빌드하는 동안 메모리가 부족할 때 유용한 coz 32bit idea.exe가 충돌했습니다.
Adil H. Raza
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.