본문으로 건너뛰기
우분투 18.04 LTS 스왑파일 만들기

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

2020년 1월 17일

Note

오래전에 작성된 글입니다. 일부 내용이 현재와는 다를 수 있으며, 링크가 유효하지 않을 수 있습니다.

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

결과

free command output showing active swap space

시스템 부팅 시 마운트 설정

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

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

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

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


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

Lightsail instance creation page with the launch script option

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

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를 포함할 필요가 없습니다.

Lightsail launch script field filled with swapfile commands

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

마지막 수정 일자