아마존과 같은 클라우드 서비스에서 머신을 생성하고 사용하다 보면 기본 Swap 메모리가 설정되어 있지 않아 있는 것을 볼 수 있는데요.
물론 성능상으로 Swap 이 없는 것이 좋긴 하지만 테스트 서버나 굳이 Swap을 쓰지 말아야 할 정도로 빠른 서비스가 아닐 경우 사용하는게 서버 안정성에 좋을 때가 있는데요. 여기서는 간단히 Swap 을 생성하는 방법을 알아보겠습니다.
1. 메모리 검사하기
우선 정말 스왑 메모리가 없는지 free -m 을 통해 확인해 보도록 합니다.
$ free -m
위와 같이 Swap 이 0 으로 표기된다면 스왑(Swap) 메모리가 없는 것으로 보시면 됩니다.
2. 스왑(Swap) 메모리 파일 생성하기
우선 아래의 명령어로 / 에 swapfile 을 생성합니다.
$ sudo dd if=/dev/zero of=/swapfile bs=1M count=2048
* 1M 의 단위로 2048개 = 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
이제 다시 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
이제 swapoff /swapfile를 하시고 swapon -a를 해보시면 제대로 적용되었는지 확인하실 수 있으실 것입니다.
* 만약 에러가 난다면 cp /etc/fstab.old /etc/fstab 를 통해 복구 후 다시 라인을 추가해보시기 바랍니다.
즐거운 개발 되시기 바랍니다 :D