본문 바로가기

Maven

Gradle 이슈 모음

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