EC2의 부족한 메모리를 가상 메모리로 보완하자!(feat. SwapFile)

Minjae An·2024년 2월 1일

AWS

목록 보기
1/2

😅 개요

프로젝트 진행할 때마다 가난한 학부생은 주섬주섬 t2.micro 프리티어 EC2 인스턴스를
생성하여 사용하곤 한다. t2.micro는 아주 귀여운(?) 1GB 램 용량을 제공하는데 이를
조금이라도 더 효율적으로 사용할 수 있는 방법을 알아보자.

♻ 스왑 파일을 이용한 스왑 공간 할당

디스크의 용량을 이용하여 부족한 메모리를 대체할 수 있는 공간을 swap memory라 칭한다.
보통 swap memory는 할당된 램 용량의 2배 또는 그 이상을 추천한다고 한다.
이하 예제에서는 2GB로 swap 메모리를 설정하였는데, 상황에 따라 너무 과하지
않은 적절한 용량을 고려해야 한다.

한편, swap 메모리는 램을 완전히 대체하는 것이라 보기 어렵다. 실제 디스크 용량을
할당하여 램을 대신하는 것이라 접근 속도가 현저히 느리기 때문이다.

🚦방법

swapfile 파일 메모리 할당

sudo dd if=/dev/zero of=/swapfile bs=128M count=16

dd 명령어는 파일 복사 및 변환 관련 유닉스 유틸리티 커맨드라고 한다.
/dev/zero 는 데이터 스토리지 초기화 관련 파일이다. bs=128M*count=16으로
총 2GB의 swapfile 크기를 설정해주었다.

swapfile 접근 권한 설정

sudo chmod 600 /swapfile

r/w가 가능하도록 chmod 600으로 설정해준다.

mkswap 명령어로 swapfile을 추가할 swap 공간을 생성

sudo mkswap /swapfile

mkswapmake swap의 약자이다.

swapon 명령을 통해 swapfile을 swap memory에 추가

sudo swapon /swapfile

/etc/fstab에 필요한 정보 세팅

sudo vi /etc/fstab

위 명령을 통해 관리자 권한으로 /etc/fstab 파일을 열고 이하 내용을 기입한다.

/swapfile swap swap defaults 0 0

/etc/fstab은 파일시스템 정보를 관리하는 곳으로, 파티션 변경 및 디스크 추가
시에는 이 파일에 등록해야 자동으로 마운트가 가능하다.

free 명령어로 EC2 메모리 상태 확인


램 1GB에 추가로 스왑 메모리 2GB를 구성하여 좀 더 자원을 효율적으로 사용할 수 있게
되었다!

참고

profile
도전을 성과로

0개의 댓글