리눅스에서 스왑(Swap) 파일 설정(재부팅시 적용)

Ihwan Shin·2025년 7월 7일

CI/CD & devOps

목록 보기
10/11

✅ 목적

메모리가 부족한 저사양 서버(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
  • swap이 유지되고 있다면 설정 완료다.

📌 참고 사항

  • 2G 대신 1G, 512M처럼 원하는 용량으로 조정 가능하다.
  • EC2 기본 설정에는 swap이 없기 때문에, 이 과정을 거쳐야만 동작한다.
  • swap은 실제 메모리보다 느리지만, 컨테이너가 갑자기 죽는 걸 막는 데는 효과적이다.
  • 디스크 사용량이나 성능에 민감한 환경이라면 swap을 과도하게 의존하지 않는 것이 좋다.

profile
Backend Engineer 💻 (since. 21/07/01)

0개의 댓글