Search

[GCP] e2-small 스왑 메모리 설정하기 (e2-small 메모리 늘리기)

생성일
2024/12/31

문제

GCP의 e2-micro 인스턴스를 사용하고 있는데, 램 메모리가 1GB밖에 되지 않아 서버를 빌드하고 배포하는 도중 메모리 부족 현상으로 서버가 다운되는 문제 발생

원인

GCP의 프리티어 e2-micro를 사용하고 있는데 램 메모리가 1GB 밖에 되지 않기 때문에 메모리가 부족한 현상
GCP Compute Engine 무료 조건
다음 미국 내 리전 중 한 곳에서 비선점형 e2-micro VM 인스턴스 1개
30GB/월 표준 영구 디스크

해결 방법

1. GCP 인스턴스 유형 변경

돈을 써서 인스턴스 유형을 e2-small 또는 더 높은 사양으로 변경하여 메모리 문제를 해결하는 방법
하지만, 이 방법은 비용이 증가할 수 있고, 단기적으로만 해결되는 경우이기 때문에 다른 대안을 찾아야 했다.

2. 스왑 메모리 설정

e2-micro 인스턴스의 메모리는 1GB로 애플리케이션을 배포하기에는 부족
따라서, 디스크 공간을 임시 메모리로 사용하여 부족한 메모리 용량을 확장

1. swapfile 생성

sudo fallocate -l 4G /swapfile
Bash
복사
저장공간 확인하기

2. swapfile 권한 설정

sudo chmod 600 /swapfile
Bash
복사

3. swap 공간 생성

sudo mkswap /swapfile
Python
복사
mkswap: Make Swap의 약자로 스왑 파티션이나 스왑 파일을 생성하는 명령어
Output

4. swapfile 스왑 메모리 추가

sudo swapon /swapfile
Bash
복사

5. swap 파일시스템 설정

시스템 부팅 시마다 자동으로 활성화되도록 파일시스템을 수정
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
Bash
복사

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

스왑 메모리로 4GB가 할당된 모습을 확인
free -h
Bash
복사

3. 스왑 메모리 삭제

추후에 스왑 메모리를 삭제해야 할 수도 있어서 메모리에 삭제에 관한 부분도 기록 해둔다.

1. swapfile 비활성화

sudo swapoff -v /swapfile
Bash
복사

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

스왑 메모리가 삭제된 모습을 확인
free -h
Bash
복사

3. /etc/fstab 파일에서 스왑 파일 entry를 제거

/swapfile none swap sw 0 0 부분을 제거하거나 주석 처리
sudo vi /etc/fstab
Bash
복사

4. swapfile 삭제

sudorm /swapfile
Bash
복사

논의

저장 공간 많이 안 쓰면 무조건 크게 잡는게 이득 아닌가?
gcp 권장 스왑 공간은?

참고 문헌