AWS

[AWS] EC2 프리티어 서버 계속 끊기는 현상

운덩하는 개발자 2022. 12. 9.
반응형

t2.micro의 램이 1GB정도 밖에 되지않아서, 여러 가지의 프로젝트를 동시에 돌리는 것은 부담이 되는 경우가 있다.
나같은 경우에도, Spring boot를 실행하니 계속 서버의 연결이 끊기는 문제가 발생했다..

처음에는 설정문제인가싶어서, 계속 인스턴스를 재부팅하고 서버 설정파일도 수정하는 등 여러 작업들을 수행했지만... 계속 해결되지않았다.

결국 메모리부족의 문제였던것이다.

참고한 다른 필자의 블로그를 참고했을때에는 CPU 사용률이 80-90%까지 치솟았고, 나는 30%까지밖에 도달하지않는것은 의문이었지만 메모리부족의 문제를 해결해보기로 하였다.

리눅스에서는 swap메모리를 지정할 수 있다.
아마 서버 초기설정시 지정되었을것이다.

SWAP 메모리란? <- 링크를 참조!


ec2 프리티어는 1G RAM이므로, 권장사항에 따라 2G로 잡으면된다.

https://aws.amazon.com/ko/premiumsupport/knowledge-center/ec2-memory-swap-file/
공식 홈페이지를 참고하였지만, 또 소개하겠다.

1.dd 명령을 사용하여 루트 파일 시스템에 스왑 파일을 생성한다.

명령에서 bs는 블록 크기이고 count는 블록 수이다.
스왑 파일의 크기는 dd 명령의 블록 크기 옵션에 블록 수 옵션을 곱한 값이다.
이러한 값을 조정하여 원하는 스왑 파일 크기를 결정한다.
! 지정한 블록 크기는 인스턴스에서 사용 가능한 메모리보다 작아야 한다. 그렇지 않으면 "memory exhausted" 오류가 발생한다.

본인이 진행한 스왑 파일은 2GB(128MB x 16)이다.

$ 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
파일 끝에 다음 줄을 새로 추가하고 파일을 저장종료.
/swapfile swap swap defaults 0 0

7.모든 과정이 끝났으면, 잘 할당되었는지 확인.
$ free -m
(-m : MB 단위로 확인)

 

반응형

댓글