본문 바로가기

TIL(Today I Learned)

TIL-230825(항해99 실전 프로젝트-행동대장(16), EC2에 Swap Memory 적용)

📝오늘 공부한 것

  • 실전프로젝트 - '행동대장' 카카오로그인 기능구현
  • 인프런 김영한의 스프링 강의 섹션4

 

⛔문제점

프로젝트를 진행하던 중 프론트에서 갑자기 서버를 닫았는지 물어보셨다. 서버를 종료한 적이 없어서 확인해 보려고 ssh접속을 하려 했으나, ubuntu서버에 접속조차 할 수가 없었다.  AWS를 확인해 보니 CPU사용량이 급증한 것을 확인할 수 있었다.

 

 

 

유저피드백을 받기 전이라 프론트분들이 데이터를 넣는 작업을 했었는데 

CPU 사용량이 급증하면서, 서버의 메모리 사용량을 감당할 수 없게 되어 EC2 다운되는 문제가 발생한 것이었다.

 

 

💯해결 

EC2 인스턴스를 생성할 때 프리티어인 t2.micro를 선택하였다. t2.micro는 메모리를 1GB 제공한다.

메모리 부족현상을 해결하기 위해 swap file을 이용한 swap memory를 할당하였다.

swap 메모리는 기존 RAM 용량의 2배 크기만큼 설정해준다고 한다.

 

 

[ Swap Memory 적용 방법 ]

1. ubuntu 서버 접속

 

2. 2GB 할당

$ sudo dd if=/dev/zero of=/swapfile bs=128M count=16

 

3. 스왑 파일의 읽기 및 쓰기 권한을 업데이트

$ sudo chmod 600 /swapfile

 

4. 스왑 영역을 설정

$ sudo mkswap /swapfile

 

5. 스왑 공간에 스왑 파일을 추가하여 스왑 파일을 즉시 사용할 수 있도록 한다.

$ sudo swapon /swapfile

 

6.  프로시저가 성공적인지 확인

$ sudo swapon -s

 

7. /etc/fstab 파일을 편집하여 부팅 시 스왑 파일을 시작

$ sudo vi /etc/fstab
/swapfile swap swap defaults 0 0

 

 

 

 

 

 

 

 

 

 

 

 

 

References :

https://repost.aws/ko/knowledge-center/ec2-memory-swap-file

 

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

Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에서 스왑 파일로 사용할 메모리를 할당하려고 합니다. 어떻게 해야 하나요?

repost.aws