ec2 프리 티어 이용시 자바를 빌드하는 과정에서 메모리 부족으로 인스턴트가 터지는 현상이 발생하곤 한다
정말 간단한 해결법으로는 다른 인스턴트 유형을 선택해 RAM을 늘리는 방법이다
하지만!!!
우리는 프리 티어를 아주 좋아한다!
그래서 오늘은 프리 티어 빌드 시 램 부족으로 인스턴트가 터지는 방법을 Swap File을 이용해 해결해보자
Point
Swap 이란?
Swap File 생성 및 설정
Swap 이란?
운영체제에서 메모리 관리를 위해 사용되는 공간입니다. 주로 RAM이 부족할 때 운영체제가 임시로 데이터를 저장하는데 사용됩니다.
다만 하드 디스크의 입출력 속도가 느리기 때문에 RAM보다 느리다는것을 아셔야 합니다.
swapfile 메모리 할당
// Swap File 메모리 할당
$ sudo dd if=/dev/zero of=/swapfile bs=128M count=16
dd 명령어는 파일 복사 및 변환 관련 유닉스 명령 유틸리티이다.
/dev/zero는 데이터 스토리지 초기화 관련 파일이다.
bs=128M 곱하기 count=16으로 총 2GB swapfile을 설정하였다.
swapfile 권한 설정
// Swap File 권한 세팅
$ sudo chmod 600 /swapfile
읽기, 쓰기가 가능하도록 권한을 설정해준다.
swap 공간 생성
// swap 공간 생성
$ sudo mkswap /swapfile
/etc/fstab 파일 설정
// /etc/fstab vi 에디터로 열기
$ sudo vi /etc/fstab
// 파일 최하단에 명령어 작성
/swapfile swap swap defaults 0 0
ec2 메모리 상태 확인
// 시스템 메모리 정보를 보여주는 명령어 실행하여 확인
$ free
이렇게해서 ec2에서 메모리 부족시 하드디스크를 이용한 swap 메모리를 사용하는 설정을 마칩니다!
모두 고생하셨고 오늘의 오류를 해결함으로써 더 나은 내일이 되기를 바랍니다!
참고 URL