Swap Memory

스왑 메모리는 쉽게 말해서 RAM이 아닌 Disk 공간을 RAM 처럼 활용하는 것이다.

실제 메모리(RAM) 즉, 물리 메모리가 가득 차면 프로세스는 더 이상 이어가지 못하고 종료된다.

이 때, 스왑 메모리를 할당하면 Disk 공간으로 부족한 RAM을 충당할 수 있다.

스왑 메모리는 디스크 I/O 성능에 의존하므로 물리적 메모리보다 느리다는 단점이 있지만 프리티어에서는 굉장히 유용하다.


스왑 메모리 설정

토이 프로젝트용으로는 주로 AWS EC2 혹은 Azure, GCP 등의 프리티어 인스턴스를 사용한다.

그런데 이런 프리티어 인스턴스는 성능이 몹시 딸린다.

예시로 EC2 프리티어 인스턴스는 RAM이 1GB 밖에 안되기 때문에 스프링부트 애플리케이션을 두개만 띄워도 힘들어한다.

이를 조금이라도 보완하기 위한 스왑 메모리 를 설정해보자.

1. 스왑 파일 생성

주로 기존 메모리의 2~4배 정도를 스왑 메모리로 설정한다고 한다.

그러므로 2GB 정도를 스왑 메모리로 설정하겠다.

sudo fallocate -l 2G /swapfile

2. 스왑 파일 권한 설정

sudo chmod 600 /swapfile

3. 스왑 파일 권한 설정

sudo mkswap /swapfile

4. 스왑 파일 활성화

sudo swapon /swapfile

5. 스왑 파일이 시스템 재부팅 후에도 유지되도록 설정

echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

6. 스왑 메모리 설정 확인

sudo swapon --show

 

위 명령어를 입력하면 어래처럼 스왑 메모리 설정을 확인할 수 있다.

+ Recent posts