✅ 목적
메모리가 부족한 저사양 서버(t3.small 등)에서 컨테이너가 메모리 부족으로 종료되는 상황을 방지하기 위해, 스왑 파일을 설정하고 재부팅 후에도 자동으로 유지되도록 구성한다.
✅ 1. 스왑 파일 만들기
sudo fallocate -l 2G /swapfile
- 2GB 크기의 빈 파일을
/swapfile 위치에 생성한다.
- 디스크에 여유 공간이 있으면 바로 만들어진다.
✅ 2. 파일 권한 제한
sudo chmod 600 /swapfile
- root 사용자만 읽고 쓸 수 있도록 권한을 설정한다.
- 보안상 필수 단계다.
✅ 3. 스왑 영역으로 초기화
sudo mkswap /swapfile
- 파일을 스왑 용도로 사용할 수 있도록 초기화한다.
✅ 4. 스왑 활성화
sudo swapon /swapfile
- 지금부터 이 파일이 스왑으로 사용되기 시작한다.
✅ 5. 적용 여부 확인
sudo swapon --show
또는
free -h
- Swap 항목에 2.0G 정도로 표시되면 설정이 잘 적용된 것이다.
🔁 재부팅 후에도 스왑 유지하기
✅ 6. fstab 파일에 등록
sudo vi /etc/fstab
아래 한 줄을 맨 아래에 추가한다:
/swapfile none swap sw 0 0
재부팅해도 swap이 자동으로 켜지도록 만드는 설정이다.
✅ 7. 설정이 정상인지 미리 테스트
sudo mount -a
- 아무 메시지도 출력되지 않으면 정상이다.
- 오류가 뜬다면 경로나 문법에 문제가 있는 것이므로 수정해야 한다.
✅ 8. 재부팅 후에도 적용됐는지 확인
sudo reboot
재부팅한 뒤 아래 명령어로 확인한다:
free -h
또는
swapon --show
📌 참고 사항
2G 대신 1G, 512M처럼 원하는 용량으로 조정 가능하다.
- EC2 기본 설정에는 swap이 없기 때문에, 이 과정을 거쳐야만 동작한다.
- swap은 실제 메모리보다 느리지만, 컨테이너가 갑자기 죽는 걸 막는 데는 효과적이다.
- 디스크 사용량이나 성능에 민감한 환경이라면 swap을 과도하게 의존하지 않는 것이 좋다.