Ubuntu Swap 설정(오라클 클라우드 우분투20.04)

리눅스 운영체제에서 Swap 메모리가 잡혀 있지 않는 경우에는 메모리 부족 현상으로 띄워놓은 어플리케이션 서버가 죽는 일이 생길 수 있습니다. Ubuntu Swap 설정 방법을 알아보도록 하겠습니다.

개요

저의 경우에는 Oracle Cloud에서 OS를 Ubuntu로 선택했는데 Swap 메모리가 기본으로 잡혀있지 않았습니다. 그래서 갑자기 Out of memory로 서버가 죽는 현상이 발생했습니다.

과거에는 리눅스에서 swap 파티션을 사용했지만, 이제는 /swapfile을 이용합니다(이 글 작성 당시 Ubuntu 20.04 이용 중). 따라서 /swapfile이 없는 운영체제에는 스왑파일 설정이 필요합니다. 특히나 클라우드 서비스로 운영되는 서버는 메모리 자원이 한정되어 있기 때문에 swap 파일 설정이 필수적이라고 할 수 있습니다.

Ubuntu Swap 설정 방법

sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
ShellScript

우선 fallocate 명령어를 사용해서 2GB짜리 swap 파일을 생성해 줍니다.
그 다음으로는 /swapfile 파일의 퍼미션을 600으로 설정해 줍니다.
mkswap 명령어를 통해서 해당 파일을 swap파일로 설정해 줍니다.
마지막으로 swapon 명령어로 스왑파일 기능을 켜줍니다.

간단하게 Ubuntu Swap 설정이 끝났습니다. 이제 스왑은 잘 작동하겠지만 이렇게 설정을 끝낸 것만으로는 만족스럽지 않습니다. 왜냐하면 이 상태로 재부팅을 하면 스왑 설정은 모두 날아가 버리기 때문입니다. 다음 섹션을 꼭 읽고 설정해 주기 바랍니다.

재부팅 후에도 적용되도록 fstab 설정

/etc/fstab을 편집기로 열어서 마지막 줄에 다음 내용을 적어줍니다.

sudo nano /etc/fstab
ShellScript
/swapfile swap swap defaults 0 0
ShellScript
그림 1. /etc/fstab 파일에 swap 설정 추가
그림 1. /etc/fstab 파일에 swap 설정 추가

이제 재부팅 합니다.

sudo reboot
ShellScript

스왑파일이 잘 설정되었는지 확인해 봅니다.

sudo free -m
ShellScript

아래와 같이 Swap 라인에 설정된 용량이 보이면 성공입니다.

그림 2. swap 설정이 잘 되었는지 확인
그림 2. swap 설정이 잘 되었는지 확인

Swap 파일 용량 변경 방법

혹여나 스왑 용량을 4G로 변경해야 한다면, 기존의 스왑파일을 삭제한 후 다시 생성해 주어야 합니다.

스왑 파일 삭제 전에 아래와 같이 swapoff 명령어를 사용해서 먼저 스왑 기능을 꺼줍니다. 그런다음 스왑 파일을 삭제해 준 후 다시 스왑 파일을 설정해 주시면 됩니다.

sudo swapoff -v /swapfile
sudo rm /swapfile
ShellScript

이제 Ubuntu Swap 파일 생성 및 설정 섹션에서 확인한 내용을 그대로 진행해 주시면 됩니다. 물론 스왑 용량을 원하는 용량으로 설정해 주시면 되겠습니다. 저는 4G로 변경해 보도록 하겠습니다.

그림 3. Ubuntu swap 설정 변경 방법 및 결과
그림 3. Ubuntu swap 설정 변경 방법 및 결과

위의 그림 3과 같이 스왑 용량이 정상적으로 4GB로 변경된 것을 확인할 수 있습니다. 여기까지 간단히 우분투 스왑 설정 및 용량 변경에 대해 알아보았습니다.

참고자료

리눅스 man 페이지의 mkswap, fallocate, swapon과 swapoff 문서를 참고하시면 자세한 명령어의 사용법을 확인하실 수 있습니다. 터미널에서 man 명령어를 사용해도 됩니다.

같이 읽으면 좋은 글

Leave a Comment