AWS EC2 프리티어 메모리 부족 문제
AWS EC2 프리티어 는 사이드 프로젝트를 진행 하다보면 거의 90퍼 이상으로 채택하는 클라우드 서버이다. 하지만 AWS EC2 프리티어는 공짜라는 클라우드를 제공해주지만 눈물나는 스펙을 가지고 있다... 조금이라도 무거운 짓을 하면 서버는 "나 안해" 를 시전해 버린다. 하지만 맨날 돈을 주고 서버를 운영하기에는 돈이없다... 눈물을 머금고 프리티어서버를 최적화 해야한다.

눈물나는.. 1Cpu, 1기가 램
- 메모리 부족 문제 해결
매번 ec2 프리티어 기반 프로젝트를 진행 하여 서버를 구축 할 때 마다 처음 서버에 진입 했을 때 해주는 일은 SWAP 메모리를 설정해 주는 것이다. 물론 돈을주고 스케일 업을 하던가 auto-scale 을 사용해서 메모리를 올려도 되지만 경제적 여건이 되면.. 할것이다.
- SWAP 메모리
기본 적으로 EC2 OS 를 돌리기 위해서는 500MB를 넘게 사용하기 때문에 스프링 부트를 빌드 할때 코드가 조금이라도 많아지면 바로 뻗어버린다.
SWAP 메모리를 설정해 주면 OS에서 메모리를 다 사용하고 있을때, 사용하지 않는 메모리 안의 페이지를 HDD 에 저장하면서 부족한 메모리공간을 찾아서 대체 해 줄 수 있다 !!..
하지만 그냥 대체 용이지 메모리와 비교하면 속도 측면에서는 엄청난 차이를 보인다.
- SWAP Space 설정
dd 명령어로 SWAP 메모리를 할당한다.
SWAP Space 는 기본(bs) 128M
SWAP Space를 할당하기위해서 프리티어가 가지고 있는 1Gi 에 Count 를 16으로 설정
sudo dd if=/dev/zero of=/swapfile bs=128M count=16
swapfile 을 R / W 권한을 준다
chmod 600 / swapfile
sudo chmod 600 /swapfile
mkswap 을 사용해서 영역을 설정해 준다.
sudo mkswap /swapfile
swap 공간에 swap file 을 추가
sudo swapon /swapfile
swap 확인 후 서버 리부팅시 자동 활성호를 위해 defaults 값을 추가 후 :wq 로 out
sudo swapon -s
sudo vi /etc/fstab

마지막으로 메모리가 적용되었는지 확인 하기 위해서 free -h 명령어로 확인 해준다.
