우분투 18.04 LTS 스왑파일 만들기

Amazon Lightsail의 저가형 플랜을 사용할 때 RAM 용량이 부족한 경우가 있었습니다. 인스턴스 플랜 업그레이드가 가장 좋은 방법이지만 스왑 공간을 할당하였습니다.


시스템의 스왑 공간 확인

시스템에 스왑 공간이 존재하는지 확인합니다.

$ sudo swapon --show

아무것도 출력되지 않으면 스왑 공간이 없는 것입니다.


스왑 파일 생성

루트 디렉토리에 스왑 파일을 생성합니다.
(1024 bytes * 1,048,576 blocks = 1 GB)

$ sudo dd if=/dev/zero of=/swapfile bs=1024 count=1048576

/swapfile의 권한을 수정합니다.

$ sudo chmod 600 /swapfile

생성한 파일을 스왑 공간으로 표시합니다.

$ sudo mkswap /swapfile

스왑 파일 활성화

시스템이 스왑 파일을 사용하도록 합니다.

$ sudo swapon /swapfile

스왑 공간의 정보를 확인합니다.

$ free -h

결과


시스템 부팅 시 마운트 설정

부팅 시 자동으로 스왑 파일을 마운트하도록 설정합니다.
/etc/fstab의 마지막 줄에 /swapfile swap swap defaults 0 0을 추가합니다.

$ sudo echo '/swapfile swap swap defaults 0 0' | sudo tee -a /etc/fstab

추가: Lightsail 인스턴스 시작 스크립트

위의 과정을 자동으로 진행하는 방법입니다.


인스턴스 생성 페이지에서 ‘시작 스크립트 추가’를 선택합니다.


시작 스크립트 내용에 아래 내용을 입력합니다.

dd if=/dev/zero of=/swapfile bs=1024 count=1048576
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo '/swapfile swap swap defaults 0 0' | tee -a /etc/fstab

서버 구성 시 보내는 명령은 루트 권한으로 실행되므로 sudo를 포함할 필요가 없습니다.


나머지 설정 수행 뒤 인스턴스를 생성하시면 됩니다.