There is insufficient memory for the Java Runtime Environment to continue
gradle test를 동작시키니 해당 에러가 발생하였다. gradle이 동작하는 JVM memory 이슈인 줄 알았으나, OS 단의 문제였다.
예를 들어, JVM은 224MB를 할당하려 하는데, OS단에서는 해당 메모리만큼 사용이 가능하지 않은 경우이다.
즉, JVM에 설정된 -Xmx >> 시스템의 free memory 인 경우이다.
해결 방법s
1. EC2 instance memory 늘리기
2. OS의 free memory와 JVM의 memory 설정을 확인하여 수정하기
~# jps -lvm
4466 org.gradle.launcher.daemon.bootstrap.GradleDaemon 4.2.1 -XX:+HeapDumpOnOutOfMemoryError -Xmx1024m -Dfile.encoding=US-ASCII -Duser.country=US -Duser.language=en -Duser.variant
8013 sun.tools.jps.Jps -lvm -Dapplication.home=/usr/lib/jvm/java-8-openjdk-amd64 -Xms8m
Daemon이 메모리 얼마나 쓰고 어떻게 더 할당하는가?
JVM 기본 설정 최소 heap 사이즈인 1GB를 사용한다. Daemon이 더 많은 메모리를 사용하기 위해서는 프로젝트 root 경로에 gradle.properties 파일을 만들고 아래처럼 설정을 해주면 된다.
org.gradle.jvmargs=-Xmx2g -XX:MaxPermSize=256m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
'Maven' 카테고리의 다른 글
#4. 빌드는 어떤 방식으로 진행되는가 ( 메이븐 라이프 사이클 ) (0) | 2017.10.25 |
---|---|
#3. 메이븐 설정 파일 (0) | 2017.10.25 |
#1. 이상적인 개발 환경 (0) | 2017.10.25 |
#5. 메이븐을 이용한 의존 라이브러리 관리 (0) | 2017.10.24 |
#6. 메이븐과 이클립스 통합 (0) | 2017.10.24 |