본문 바로가기

CloudServices/AWS

Linux 에서 스왑 ( Swap ) 메모리 생성하기

작성자 : Deok

 아마존과 같은 클라우드 서비스에서 머신을 생성하고 사용하다 보면 기본 Swap 메모리가 설정되어 있지 않아 있는 것을 볼 수 있는데요.

 

 물론 성능상으로 Swap 이 없는 것이 좋긴 하지만 테스트 서버나 굳이 Swap을 쓰지 말아야 할 정도로 빠른 서비스가 아닐 경우 사용하는게 서버 안정성에 좋을 때가 있는데요. 여기서는 간단히 Swap 을 생성하는 방법을 알아보겠습니다.

 

1. 메모리 검사하기

 

 우선 정말 스왑 메모리가 없는지 free -m 을 통해 확인해 보도록 합니다.

 

$ free -m

스왑( Swap ) 이 0 으로 출력 되고 있습니다.

위와 같이 Swap 이 0 으로 표기된다면 스왑(Swap) 메모리가 없는 것으로 보시면 됩니다.

 

 

2. 스왑(Swap) 메모리 파일 생성하기

 

우선 아래의 명령어로 / 에 swapfile 을 생성합니다. 

$ sudo dd if=/dev/zero of=/swapfile bs=1M count=2048

* 1M 의 단위로 2048개 = 2G 생성

 

swapfile 의 2G 확인하기

좀 기다리신 후 /로 이동 후 ls -ahl 을 통해 확인해 보시면 2G의 swapfile 이 생성된 것을 확인하실 수 있으실 것입니다.

$ cd /
$ ls -ahl

 

3. 스왑 메모리 활성화 하기

 

이제 스왑 메모리 파일을 생성 하였으니 스왑 메모리를 활성화 할 차례 입니다. 우선 해당 파일의 권한을 600 으로 변환해 줍니다.

$ sudo chmod 600 /swapfile

 

 

마지막으로 mkswap 을 통해 swapfile 을 Swapspace 로 포멧하고

swapon 을 이용해 스왑(Swap) 메모리를 활성화 해주도록 합니다.

$ sudo mkswap /swapfile
$ sudo swapon /swapfile

Swap 파일 포멧 및 활성화

이제 다시 free -m 을 통해 메모리를 확인해 보시면 swap 메모리가 생성된 것을 확인하실 수 있을 것입니다.

 

4. 재부팅 자동 활성화 

 

이제 모두 처리 되었고 재부팅시 에도 자동으로 스왑(Swap) 메모리가 활성화 되도록 /etc/fstab 에 아래의 문장을 추가하고 저장해 주도록 합니다.

 

$ cp /etc/fstab /etc/fstab.old
$ sudo vi /etc/fstab

 

우선 cp를 통해 기존 파일을 복사하고 vi로 파일을 열은 후 아래의 문장을 추가해 주도록 합니다.

 

/swapfile swap swap defaults 0 0

 

/etc/fstab 에 라인 추가하기

 

 

이제 swapoff /swapfile를 하시고 swapon -a를 해보시면 제대로 적용되었는지 확인하실 수 있으실 것입니다.

 

* 만약 에러가 난다면 cp /etc/fstab.old /etc/fstab 를 통해 복구 후 다시 라인을 추가해보시기 바랍니다.

 

즐거운 개발 되시기 바랍니다 :D