AWS

AWS EC2 프리티어 메모리 부족 해결 방법

se0nghyun2 2024. 6. 18. 09:24

 

AWS free tier를 사용하면서 docker 컨테이너 내 젠킨스을 통한 build 과정에서 너무 많은 시간이 소요되고, 서버가 뻗어버리곤 한다.

이유는 t2.micro의 램이 1GB 정도 밖에 되지 않기에 메모리 부족으로 프리징 현상이 계속 발생하던 것이였다.

 

이를 해결하기 위하여 스왑 메모리 라는 기법을 구글링을 통하여 발견하였다.

 

스왑 메모리

RAM이 부족할 경우, HDD의 일정공간을 마치 RAM처럼 사용하는 것이다.

대신 하드디스크의 일정공간을 사용하는 것이기에 RAM보다 속도가 느리다.

 

 

권장 스왑 공간은 RAM 2gib 이하인 경우  RAM 용량의 2배 정도이다.

나의 경우 1gib이기 때문에 2gib로 늘리면 된다.

 

 

스왑 메모리 적용 순서

1. dd 명령어를 통하여 swap 메모리 할당

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

 

2. 스왑 파일의 읽기 및 쓰기 권한을 업데이트합니다.

sudo chmod 600 /swapfile

 

3.  Linux 스왑 영역을 설정합니다.

sudo mkswap /swapfile

 

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

sudo swapon /swapfile

 

5.  절차가 성공적으로 완료되었는지 확인합니다.

 sudo swapon -s

 

6. 부팅 시 /etc/fstab 파일을 편집하여 스왑 파일을 시작합니다.

sudo vi /etc/fstab

 

7. 파일 끝에 다음 새 줄을 추가하고 파일을 저장한 다음 종료

/swapfile swap swap defaults 0 0

 

스왑메모리 적용 후 빌드하여도 서버가 뻗지 않는다!!

 

 

참고

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