리눅스 클라우드 서버 스왑 공간 설정 명령어

클라우드 서버들은 신기하게 스왑 공간이 0으로 설정돼 있습니다.

스왑 공간은 메모리가 다 찼을 때 임시로 사용할 수 있는 파일 시스템 공간입니다.

스왑은 기본적으로 사용하지 않을 수 있다면 사용하지 않는 게 성능상은 가장 좋습니다. 메모리를 늘리는 게 답이죠. 스왑 공간은 메모리가 아니라 저장공간이기 때문에 많이 느립니다. SSD 덕에 요즘은 스왑 공간도 나름 빨라졌다고 하지만 그래도 RAM의 성능을 따라갈 수는 없습니다.

스왑 사용 여부는 어떻게 정해야 할까요? 서버가 메모리 부족으로 죽어도 빠른 게 안정적인 것보다 더 중요하다면(아마 서버를 여러 대 굴리고 있으면 그렇겠죠) 스왑 공간을 굳이 설정할 필요가 없습니다.

하지만 서버가 잠깐 느려지더라도 죽는 것은 무조건 방지해야 한다면 스왑 공간을 설정해 주는 것이 좋을 것입니다. 비용 대비 서버 증설의 효용성이 적을 때 이렇게 하는 게 좋을 겁니다.

스왑 공간은 얼마나 할당하는 게 좋을까요? 레드햇 리눅스에 따르면 아래와 같습니다.

설치된 RAM 용량권장되는 스왑 용량최대절전을 허용할때 권장되는 스왑용량
2GB or lessRAM 용량의 2배RAM 용량의 3배
> 2GB – 8GBRAM 용량RAM 용량의 2배
> 8GB – 64GB적어도 4GB ~ RAM 용량의 1 / 2 배RAM 용량의 1.5배
> 64GB or more적어도 4GB최대절전이 권장되지 않음
출처: Red Hat Enterprise Linux 권장 swap 크기는 어떻게 되나요?

주의: 140개 이상의 논리적인 프로세서를 가진 시스템 혹은 3TB 이상의 RAM을 가진 시스템에서는 최소 100GB의 스왑 공간이 권장됩니다.

아래 명령어에는 2G로 돼 있는데, 제 서버가 1G기 때문입니다.

아래 명령어로 설정합니다. 2G는 자신에 맞게 수정해야 합니다.

# 스왑용 파일 생성
sudo fallocate -l 2G /swapfile
# 보안을 위한 권한 설정
sudo chmod 600 /swapfile
# 생성한 파일을 스왑 공간으로 설정
sudo mkswap /swapfile
# 스왑 활성화
sudo swapon /swapfile
# 재부팅해도 날아가지 않도록 /etc/fstab에 기록
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab > /dev/null
# 스왑 설정 확인
sudo swapon --show

👇 카테고리 글 목록

대표글

“리눅스 클라우드 서버 스왑 공간 설정 명령어”에 대한 3개의 응답

  1. 메모리가 부족해야 더 비싼 요금제를 사용할 테니 스왑 메모리를 설정하지 않는 것 아닐까 하는 생각이 드네요!

    1. 그럴 지도 모르겠습니다.
      말씀해 주신 내용을 보다가 제가 예산 이야기를 하지 않은 것을 깨닫고 한 줄 추가했습니다.

  2. […] 메모리 부족 다운 현상을 방지하기 위해 스왑 공간도 잡았습니다. […]

댓글 남기기