Devops/AWS

[AWS] 인스턴스 RAM 메모리 부족현상 Swap Memory로 해결하기

bill's tech log 2024. 5. 27. 23:19

AWS는 1년간 다양한 서비스를 거의 무료로 이용할 수 있는 프리티어 서비스를 제공한다.

 

프리티어 서비스중에서 EC2와 같은 클라우드 서버를 대여해서 가벼운 프로젝트를 배포하거나 테스트할 때, 인스턴스의 사양이 낮다 보니 원하는 작업을 못 하는 경우가 있다. 

 

예를 들어, VScode나 WebStorm등과 같은 IDE에 SSH 연결을 통해서 실서버 내부에 들어가서 작업을 하면서 인스턴스가 먹통이 되거나 SSH 환경에서 Build를 하거나 간단한 테스트를 하는데 뻗어 버리는 케이스가 있었다. 이때, 시도해볼 수 있는 방식이 스왑 메모리(Swap Memory)를 적용하는 것이다. 

 

 

스왑 메모리란(Swap Memory)?

스왑 메모리는 물리적 RAM이 부족할 때 데이터를 임시로 저장하기 위해 하드 디스크의 일부를 사용하는 공간을 의미한다. 스왑을 사용하면 속도는 RAM에 비해 느리지만 이를 통해서 시스템 일부 더 많은 프로그램을 실행하거나 더 많은 데이터를 처리할 수 있는 특징이 있다. 이로인해 RAM의 한계를 보완하고 일부 성능을 개선 할 수 있다. 

 

 

스왑(Swap) 설정 

리눅스(ubnutu) 환경에서 스왑을 설정하는 방식은 공식문서에 친절하게 설명되어 있다.

 

https://help.ubuntu.com/community/SwapFaq

 

메모리가 1기가 이하일 경우 스왑 메모리는 최소 실제 RAM 메모리 크기만큼 할당하는 것이 좋고, 디스크 용량의 문제가 없다면 두 배의 메모리를 할당하는 것을 권장한다. 현재 사용 중인 인스턴스는 사양은 T2.micro이고, RAM 크기는 1GB 이기 때문에 아래 예제에서 2GB만큼 Swap을 할당해 보겠다. 

 

  • dd 명령어로 SWAP 메모리를 할당
sudo dd if=/dev/zero of=/swapfile bs=128M count=16

 

  • 스왑 파일 Read / Write 권한을 변경
sudo chmod 600 /swapfile

 

  • Linux SWAP File을 사용해서 영역을 설정
sudo mkswap /swapfile

 

  • SWAP Space에 SWAP File을 추가
sudo swapon /swapfile

 

  • 추가된 SWAP 영역을 확인
sudo swapon -s

 

  • 서버를 Reboot 할 경우 SWAP을 자동으로 활성화하기 위해/etc/fstab 파일을 열어서 해당 내용을 추가.
sudo vim /etc/fstab

 

  • /etc/fstab vim 파일에 아래 항목 추가 
/swapfile swap swap defaults 0 0

 

  • 메모리 확인
free -h # 2GB로 스왑이 생성된걸 확인 할 수 있음.

 

 

 

SwapFaq - Community Help Wiki

Introduction This FAQ is aimed at Linux novices. People always wonder how much swap they should create at install time, or after installing they may think, "have I made a large enough swap? Should I reinstall with a larger swap?" This FAQ will tell you how

help.ubuntu.com

 

 

스왑 파일을 사용하여 Amazon EC2 인스턴스에서 메모리를 스왑 스페이스로 할당합니다.

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

repost.aws

 

'Devops > AWS' 카테고리의 다른 글

[AWS] EC2 시작하기  (0) 2024.05.01
[AWS] Intro  (0) 2024.05.01