회사에서 메모리가 작은 장비에 붙어서 개발과 웹 프로젝트를 실행시키려고 하니 메모리가 부족하여 프로젝트가 실행이 안되는 문제가 발생하였습니다.
장비에 물리 메로리를 추가하는 것이 가장 좋은 방법이지만 swap 파티션을 사용하여 메모리가 부족한 경우 디스크의 일부를 메모리처럼 사용하는 방법도 존재합니다.
$ sudo swapon -s
위의 명령어의 결과가 없다면 swap 파티션, swap 파일이 없는 것입니다.
$ sudo free -m
전체 메모리 용량 및 사용 가능한 메모리 용량을 확인할 수 있는 명령어 입니다. swap 파일을 생성 후 다시 위에 명령어를 사용해보도록 하겠습니다.
$ sudo fallocate -l 4G /swapfile
4G는 4GB입니다. 원하는 메모리 용량을 적어주시면 됩니다.
$ sudo chmod 600 /swapfile
600 : 나에게만 읽기, 쓰기, 권한
$ sudo mkswap /swapfile
해당 파일이 스왑으로 동작하게 만들어주었습니다.
$ sudo swapon /swapfile
이제 스왑을 활성화 시켰습니다.
추가적으로 재부팅 이후에도 계속 swap이 적용되게 하려면 아래와 같이 설정합니다.
$ sudo vi /etc/fstab
파일이 열리면 파일 아래에 추가합니다.
/swapfile swap defaults 0 0
이제 재부팅 이후에도 swapfile이 잘 동작하는지 확인하면 됩니다.
$ sudo swapon -s
$ sudo free -m
swap 관련 설정이 추가된 것을 확인할 수 있습니다.
$ sudo swapoff -v /swapfile
/swapfile swap defaults 0 0 -> 삭제
$ sudo rm /swapfile
swap을 활용하면 메모리가 부족할 때 유용하게 사용할 수 있습니다. swapfile의 용량을 너무 크게 잡는 것은 좋지 않기 때문에 테스트하면서 적당히 잡는 것이 좋습니다.