[ Server ] Linux 스왑 파티션 생성

황승환·2021년 8월 13일
0

Server

목록 보기
20/23

전에 다뤘던 AWS EC2 프리티어를 사용하다보면 메모리가 1GB이기 때문에 인스턴스가 중지되는 현상이 발생한다. 이 부분에 대해서 해결 방안을 찾아보았다.

스왑 파티션

스왑 파티션은 RAM이 부족할 때 추가적으로 실행되는 프로그램을 RAM이 아닌 디스크 용량 일부를 가상 메모리로 활용해 실제 메모리와 혼용하여 사용하게 해준다.
다시 간단하게 말한다면 RAM이 부족할 때 실행되는 추가적인 프로그램은 스왑 파티션에서 실행된다. 예비 공간 역할을 하는 셈이다.

스왑 파티션을 적절하게 사용할 경우 시스템 성능을 큰 폭으로 향상시킬 수 있다.

권장 스왑 공간 크기

  • RAM <= 2GB 일 경우: RAM x 2
  • 2GB < RAM < 32GB 일 경우: 4GB + (RAM - 2GB)
  • RAM >= 32GB일 경우: RAM x 1

스왑 파티션 생성

본인은 AWS EC2 프리티어 ubuntu 18.04버전을 사용했다. RAM의 크기는 1GB이므로 2GB의 스왑 공간을 생성한다.

  1. sudo swapon -s 명령어를 통해 스왑 상태를 확인한다.
    free 명령어를 통해 메모리 상태를 확인한다. 결과 창을 보면 스왑이 이뤄지지 않은 상태임을 확인할 수 있다.
  2. sudo dd if=/dev/zero of=/swapfile bs=128M count=16명령어를 통해 루트 파일 시스템에 스왑 파일을 생성한다.
    128MB씩 /dev/zero 경로로부터 16번을 읽어 swapfile에 저장한다는 내용이다.
  3. sudo chmod 600 /swapfile명령어를 통해 스왑 파일에 대한 권한을 부여한다.
  4. sudo mkswap /swapfile명령어를 통해 스왑 영역을 설정한다. mkswap [file]은 스왑 파티션을 생성하는 명령어에 해당한다.
  5. sudo swapon /swapfile명령어를 통해 스왑 공간에 스왑 파일을 추가한다. swapon [file]은 스왑 파일을 활성화하는 명령어에 해당한다.
  6. sudo swapon /swapfile명령어를 통해 스왑 공간을 확인한다.
    free명령어를 통해 메모리 상태를 확인한다.스왑 파티션이 생성된 것을 확인할 수 있다.
  7. sudo vim /etc/fstab명령어를 통해 /etc/fstab파일을 연다.
  8. /etc/fstab/파일에 다음과 같이 /swapfile swap swap defaults 0 0을 추가해 부팅 시에 스왑 파일을 활성화하도록 설정한다. [파일 시스템 장치][마운트 포인트][파일 시스템 종류][옵션][dump 설정] [파일 점검 옵션]에 해당한다.

참고자료

[Linux] 리눅스 스왑 파티션 생성 및 삭제
리눅스 스왑(SWAP) 파티션이란 무엇? 어떤 일을 하나요?

profile
꾸준함을 꿈꾸는 SW 전공 학부생의 개발 일기

0개의 댓글