본문 바로가기
클라우드 및 인프라/AWS

[AWS] EC2 메모리 부족 현상 - swap 생성

by 작은소행성 2022. 6. 9.

 

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/

 

 

 

반응형