• Home
  • About
    • lahuman photo

      lahuman

      열심히 사는 아저씨

    • Learn More
    • Facebook
    • LinkedIn
    • Github
  • Posts
    • All Posts
    • All Tags
  • Projects

swap 설정 하기!

13 Apr 2019

Reading time ~1 minute

swap 설정하기

2G 메모리를 가진 MongoDB 인스턴스에서 메모리가 부족하다는 메시지를 계속 받았다.

메모리를 제외하고는 큰 문제가 없어서 확인을 해보니 swap 영역의 크기가 0 이었다. swap은 디스크를 메모리처럼 사용하는 거라, 성능에 좋지 않아서 기본설정이 사용하지 않도록 되어있다.

MongoDB의 메모리 문제를 해결하기 위해 swap을 이용하기로 내부 결정을 하였다.

설정은 다음과 같다.

# swap 확인
$> sudo swapon -s

$> sudo  free -m
              total        used        free      shared  buff/cache   available
Mem:           1955         271        1169           0         515        1537
Swap:             0           0           0

#swap 만들기
$> sudo fallocate -l 4G /swapfile
$> sudo chmod 600 /swapfile
$> sudo mkswap /swapfile
Setting up swapspace version 1, size = 4 GiB (4294963200 bytes)
no label, UUID=67f5331d-d17a-4c67-9d77-b819114a9aab

$> sudo swapon /swapfile
sudo swapon -s
Filename				Type		Size	Used	Priority
/swapfile                              	file    	4194300	0	-2

$> free -m
              total        used        free      shared  buff/cache   available
Mem:           1955         271        1169           0         515        1537
Swap:          4095           0        4095

마지막으로 서버가 재부팅 되었을때, swap파일이 적용되도록 수정을 해야 한다.

$> sudo vi /etc/fstab

# 가장 아래 부분에 추가 
/swapfile   none    swap    sw    0   0

추가 swap 삭제 하기

# swap 메모리 제거
$> sudo swapoff -v /swapfile
swapoff /swapfile

# 물리 파일 제거
$> sudo rm -f /swapfile

swap 메모리를 제거할때 여유 공간이 없을 경우 다음과 같은 오류가 발생 할수 있다.

$> sudo swapoff -a
swapoff: /swapfile: swapoff failed: Cannot allocate memory

이럴때는 서비스를 종료 해서 메모리를 충분히 확보후 실행하면 된다.

참조 링크

  • 리눅스 스왑공간 추가하기 실습
  • How To Add Swap Space on Ubuntu 18.04


swap Share Tweet +1