AWS 프리티어를 사용하는데 t2.micro 의 램이 1GB 밖에 되지 않아 여러 프로젝트를 동시에 돌리면 램 초과로 서버가 폭발한다.
RAM 메모리가 부족한 경우를 대비해 swap 메모리를 지정해준다.
swap은 RAM이 부족할 경우 HDD의 일정 공간을 RAM 처럼 사용하는 것이다.
swap 공간 크기 계산
* swap 은 32MB 미만이 되면 안된다.
t2.micro 에서 진행하면 사용할 수 있는 RAM은 1GB 이므로. swap 으로 2GB 정도를 생각하고 잡으면 된다.
swap 생성하기
스왑 파일은 4GB(128MB x 32)
sudo dd if=/dev/zero of=/swapfile bs=128M count=32
스왑 파일은 2GB(128MB x 16)
sudo dd if=/dev/zero of=/swapfile bs=128M count=16
스왑 파일의 읽기 및 쓰기 권한을 업데이트
$ sudo chmod 600 /swapfile
Linux 스왑 영역을 설정
$ sudo mkswap /swapfile
스왑 공간에 스왑 파일을 추가하여 스왑 파일을 즉시 사용할 수 있도록
$ sudo swapon /swapfile
프로시저가 성공적인지 확인
$ sudo swapon -s
/etc/fstab 파일을 편집하여 부팅 시 스왑 파일을 시작
$ sudo vi /etc/fstab
파일 끝에 다음 줄을 새로 추가하고 파일을 저장한 다음 종료
/swapfile swap swap defaults 0 0
swap이 적용되어 있는지 확인한다.
부득이하게 메모리가 부족한 경우를 제외하고는 swap 자체를 사용하지 않는 것을 권장한다.
RAM에서 돌릴 때보다는 속도는 떨어지지만 서버가 죽지 않는 것에 의의를 둔다..
swap 삭제
sudo swapoff /swapfile
sudo rm /swapfile
https://aws.amazon.com/ko/premiumsupport/knowledge-center/ec2-memory-swap-file/
반응형