상세 컨텐츠

본문 제목

[AWS] EC2 Free Tier limit alert. 프리티어 메모리 부족 문제 :(

Infra/Error

by young1403 2022. 11. 14. 16:01

본문

AWS EC2 Free Tier 메모리 부족 문제

 

AWS 프리티어를 사용하며 배포사이트가 로드가 안되거나 서버가 끊기는 현상이 있었다. ( 서버 불안정 가능성들 게시글 링크)

버그 발견하기 위해 배포 사이트를 들락날락 거리거리며 EC2 인스턴스 모니터링을 확인해보니 CPU 사용률이 지나치게 높다라는 것을 발견했다.(아래 사진처럼 cpu사용률이 높은 이유는 사실 인스턴스 설정을 잘못한 이유였지만..)

 

그에 더해 아래처럼 메모리를 거의 다 써 간다라는 메일을 받게 되니 '프리티어의 한계인가'라는 생각과 동시에 사양을 변경해서 메모리를 올려야 하나라는 고민을 하였다.

 

1. 첫 번째 해결방법은 크레디트 사양 변경하기!

하지만 우리 취준생들은 한 푼이라도 아껴야 하기에 찾은 다른 방법도 같이 설명드리겠습니다.

2. 두 번째 해결방법은 swap memory를 통해서 하드용량을 사용해 메모리 확보하기!

swap 메모리란? 
RAM에 공간이 부족해서 저장되지 못한 데이터를 저장하기 위해 사용하는 하드디스크의 일부 공간을 말한다. RAM은 속도가 매우 빠르기 때문에 상대적으로 더 중요한 처리를 RAM에서 하고 덜 중요한 처리를 swap 메모리로 옮겨서 처리하게끔 하는 용도로 사용

aws에서도 소개하고 있기 때문에 같이 첨부드리겠습니다.

(제가 평소에 느낀 aws 답지 않게 한글로 굉장히 친절하고 꼼꼼하게 설명되어 있으니 그대로 따라 하시면 됩니다!)

 

아래의 공식문서를 하기 전 참고할 사항

1. free tier를 통해서 확보한 RAM 용량은 1GB이므로, 2GB를 잡고 아래의 설정을 진행하면 된다는 점

2. 장점 : 메모리가 다 사용할 경우 시스템이 멈추는 대신 작동할 수 있는 여분의 메모리를 할당해 준다는 점

3. 단점 : swap 하는 만큼 하드 용량이 적어지고, 하드 성능이 좀 떨어질 수 있다는 점.

 

위 사항을 인지하셨고, 평소 메모리 부족으로 곤란을 겪으시는 분들은 swap momory할당을 통해 배포 설정을 해보는 것도 고려해 보시면 좋을 것 같습니다. 가끔 메모리가 오버되어 서버가 멈추는 상황을 가장 합리적인 방법으로 해결할 수 있는 방법이라 생각합니다.

 

https://aws.amazon.com/ko/premiumsupport/knowledge-center/ec2-memory-swap-file/

 

스왑 파일을 사용하여 Amazon EC2 인스턴스의 스왑 공간으로 메모리 할당

스왑 파일을 사용하여 Amazon EC2 인스턴스에서 스왑 공간으로 사용할 메모리를 할당하는 방법은 무엇입니까? 최종 업데이트 날짜: 2021년 11월 18일 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에서 스

aws.amazon.com

 

 

이상. 2% 부족할 때.. 큰 역할을 해주는 swap 메모리였습니다.

관련글 더보기

댓글 영역