본문 바로가기
Java && Spring

ec2에서 build 시 gradle HeapDumpOnOutOfMemoryError

by 행복 개발자 2022. 8. 9.

local 에서 잘만되던 build 가 ec2에서 안되는 현상 발생.. 

빌드만 무려 40분까지 걸리고.. 

 

이게 해결 방법이 한가지만 적용한다고 해서 되는것이 아니였다... 

아래 4가지 방법을 진행하면 무조건 빨리진다 

 

개선 후 현재 2분컷!

 

1. gradle properties 설정 변경

https://stackoverflow.com/questions/59284741/out-of-memory-error-while-running-gradlew-assemblerelease-react-native

 

Out of memory error while running gradlew assembleRelease - react-native

I am getting this error while making a release build for my react native project: Expiring Daemon because JVM heap space is exhausted > Task :app:transformDexArchiveWithDexMergerForRelease ...

stackoverflow.com

2. 불필요한 static 파일 제거 -> cdn 으로 변경 

 

3. (중요) build 시 현재 실행중인 gradle daemon 프로세스 종료

- rm -rf /home/ec2-user/.gradle/daemon/7.1.1/

 

4. (중요) ec2 서버의 heap 메모리 증설 

 

----- 

이 중 3, 4 번이 가장 드라미틱하게 개선되었음. 

 

위 방법으로 해결이 안될 경우 .gradle 설정 경로(숨김파일)로 들어가서 어떤 오류인지 꼭 봐야한다. 

 

 

온전히 메모리가 부족한줄 알고

하마터면.. 프리티어 포기할뻔했따.. 

그래도 이번 기회에 이것저것 구조에 대해 파악을 깊게 했던 계기가 되었다.