본문 바로가기

개발/TIL

[TIL#44] AWS EC2 Swap memory 설정 + 디스크 용량 증가

EC2 프리 티어를 사용하다 보니까 메모리 공간이 부족해서 Spring 서버와 MySQL을 함께 띄우면 자꾸 죽는 현상이 발생했다. 그래서 메모리 공간을 먼저 늘려주었다.

 

A. 디스크 용량 증가

(30GB까지 무료 → 바뀔 수 있으므로 공식 자료 확인하기)
https://aws.amazon.com/ko/ebs/pricing/?nc1=h_ls

 

고성능 블록 스토리지 – Amazon EBS 요금 – Amazon Web Services

시작하기 Amazon EBS를 시작하는 방법 알아보기

aws.amazon.com

 

 

 

EBS(EC2 디스크) 볼륨 수정하기

  1. EC2 > 볼륨으로 들어간 후 크기 수정하기 (30 GB까지 무료)

 

 

  2. sudo reboot로 EC2 서버 재부팅 시켜주기

이 작업은 시간이 좀 소요되기에 바로 접속하면 timeout 뜨고 2분 정도 후에 연결해야 연결이 된다.

 

 

 

  3. df -h로 디스크 용량 늘어난 것 확인하기

/dev/root의 size가 원래 6.9G에서 29G까지 늘어난 것을 확인할 수 있다.

 

 

 

 

B. EC2 Swap memory 설정

  1. swapfile 메모리 할당 (128M * 16 = 2048 = 2GB)

swapfile을 2GB로 생성한다. (스왑 메모리는 램 메모리의 2배 혹은 그 이상을 추천, 프리티어의 램 메모리는 1GB)

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

이 명령어는 수행 시간이 좀 걸리니까 ^C하지말고 좀 기다리기

 

 

   2. 생성된 swapfile의 권한 설정 (읽기, 쓰기)

sudo chmod 600 /swapfile

 

 

   3. swap 공간 생성

mkswap 명령어로 스왑 공간 생성

sudo mkswap /swapfile

 

 

   4. 생성한 swap 공간에 swapfile 추가

sudo swapon /swapfile

 

 

   5. 정상 동작 되었는지 확인

sudo swapon -s

++추후 스왑 영역 비활성화하고 싶다면 ?

sudo swapoff -a

 

 

   6. swap 파일 시스템 설정

시스템 부팅 시마다 자동으로 활성화되도록 파일 시스템 수정

sudo vi /etc/fstab

아래 내용을 추가하고 저장한다.

/swapfile swap swap defaults 0 0

 

 

   7. free 명령어로 메모리 상태를 확인해보자

 

설정 전

설정 후

 

 

끝 !