[AWS]ec2 프리티어 메모리 부족 문제

안상운·2024년 7월 12일

AWS

목록 보기
5/12
post-thumbnail

1. ec2 프리티어 메모리 사양

요즘 프로젝트때문에 EC2를 이용할 일이 많은데 자꾸 알 수 없는 멈춤 현상이 나타난다.
이유는 바로 ec2프리티어에서 제공하는 인스턴스의 메모리 문제였다.

ec2에서 프리티어로 제공하고 있는 t2인스턴스는 t2.micro.
메모리가 1GB밖에 되질 않는다.....!

 

  • 참고용 권장메모리 사양
사무용 저사양 PC: 4GB RAM
일반적인 사용자: 8GB RAM
고사양 게임, 그래픽용 사용자: 16GB RAM

위의 권장 메모리를 보고나니 더 마음이 아픈 사양이다...ㅠ

 

2. 해결방법

공짜인데 이게 어디냐 라고 생각하던 찰나, 인터넷으로 해결방법을 찾았다....!

스왑 파일을 사용하여 Amazon EC2 인스턴스에서 스왑 스페이스로 작동하도록 메모리를 할당하려면 어떻게 해야 하나요?

  1. 스왑이란?
스왑 메모리란, 실제 메모리 Ram이 가득 찼지만 더 많은 메모리가 필요할때 디스크 공간을 이용하여 부족한 메모리를 대체하는 기술.
실제 디스크 공간을 메모리처럼 사용하는 개념이기 때문에 가상 메모리라고 할 수 있다.
속도면에서는 실제 메모리가 아닌 하드디스크를 이용하는 것이기 때문에 메모리 속도면에서는 현저히 떨어지긴함.

free tier의 EC2 메모리가 부족하더라고 Swap 메모리로 메꿔서, 여러 개의 프로세스를 동시에 띄울 수 있음..!

 

  1. 메모리에 따라 AWS가 권장하는 스왑메모리의 크기

즉 프리티어는 1GB이므로, 2GB를 스왑메모리로 활용해보자...!

 

  1. 스왑하기
  • 메모리 확인
스왑 메모리가 비어있는것을 확인 할수 있음...!

 

  • 스왑파일 생성
sudo dd if=/dev/zero of=/swapfile bs=128M count=16

- dd 명령어를 사용하여 루트 파일 시스템에 스왑 파일을 생성한다.
- bs는 블록 크기, count는 블록 수
- 참고로 당연히 블록크기는 인스턴스상에있는 메모리보다 작아야한다.

 

  • 스왑 파일에 대한 읽기 및 쓰기 권한 부여
sudo chmod 600 /swapfile

 

  • 스왑 영역 설정
sudo mkswap /swapfile

 

  • 스왑 공간에 스왑 파일을 추가
sudo swapon /swapfile

스왑 파일을 즉시 사용할 수 있도록 만든다...!

 

  • 스왑이 절차가 성공했는지 확인
sudo swapon -s

 

  • /etc/fstab 파일을 편집
sudo vi /etc/fstab
/swapfile swap swap defaults 0 0

 /etc/fstab는 리눅스 부팅시 마운트정보를 저장하고 있는곳.
 편집기에서 파일을 연 후 파일 끝에 다음 줄을 새로 추가하여 부팅 시 스왑 파일을 활성화해주자...!

 

  • 메모리 최종 확인
free -h

정삭적으로 메모리 스왑이 잘되었다.......!

 

3. 후기

진짜 ec2 정지 현상이 없어졌다.
최근 CI/CD를 공부하는 과정에서 여러가지 프로세스들을 키다보니 메모리가 많이 부족했는데 알게되어서 참 다행이다.

0개의 댓글