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를 포함할 필요가 없습니다.
나머지 설정 수행 뒤 인스턴스를 생성하시면 됩니다.