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

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

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

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

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

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

스왑 공간은 램의 1~2배가 적당하다고 합니다. 아래 명령어에는 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. […] 메모리 부족 다운 현상을 방지하기 위해 스왑 공간도 잡았습니다. […]

댓글 남기기