-
[AWS] There is insufficient memory for the Java Runtime Environment to continue.Infra/AWS 2021. 3. 11. 14:07
EC2 서버에 프로젝트를 클론하고 gradle로 테스트하는 과정에서 다음과 같은 오류를 만나게 되었습니다. JRE를 실행하기 위해 메모리가 충분하지 않다는 의미인 것같은데 어떻게 해결할 수 있을지 구글링을 해본 결과 swap 메모리를 이용하여 해결할 수 있었습니다.
1. 먼저 free -h 명령어를 통해 swap 메모리 공간을 확인합니다. (만약 swap 메모리 공간이 0이라면 아래의 과정을 통해 스왑 파일을 생성해야 합니다.)
2. dd 명령을 사용하여 루트 파일 시스템에 스왑 파일을 생성합니다.
# 예제 스왑 파일은 4GB $ sudo dd if=/dev/zero of=/swapfile bs=128M count=32
3. 스왑 파일의 읽기 및 쓰기 권한을 업데이트합니다.
$ sudo chmod 600 /swapfile
4. Linux 스왑 영역을 설정합니다.
$ sudo mkswap /swapfile
5. 스왑 공간에 스왑 파일을 추가하여 스왑 파일을 즉시 사용할 수 있도록 합니다.
$ sudo swapon /swapfile
6. 프로시저가 성공적인지 확인합니다.
$ sudo swapon -s
7. /etc/fstab 파일을 편집하여 부팅 시 스왑 파일을 활성화합니다.
$ sudo vi /etc/fstab
8. 파일 끝에 다음 줄을 새로 추가하고 파일을 저장한 다음 종료합니다.
/swapfile swap swap defaults 0 0
9. 설정이 제대로 되었는지 swap 메모리 공간 다시 확인
Reference
aws.amazon.com/ko/premiumsupport/knowledge-center/ec2-memory-swap-file/
스왑 파일을 사용하여 Amazon EC2 인스턴스의 스왑 공간으로 메모리 할당
1. dd 명령을 사용하여 루트 파일 시스템에 스왑 파일을 생성합니다. 명령에서 bs는 블록 크기이고 count는 블록 수입니다. 스왑 파일의 크기는 dd 명령의 블록 크기 옵션에 블록 수 옵션을 곱
aws.amazon.com
'Infra > AWS' 카테고리의 다른 글
[AWS] AWS 프리티어 계정 생성 (0) 2020.12.06 클라우드 기본 네트워크의 이해 (0) 2019.10.22 [AWS] AWS 컴퓨팅 서비스 아키텍처 (0) 2019.10.16 [AWS Cloud] 리전, 가용 영역, 에지 로케이션 (0) 2019.09.30 클라우드 핵심 기술 (0) 2019.09.29