- [aws] ec2 스왑 공간 할당하기 (OOM)2024년 01월 08일 03시 43분 13초에 업로드 된 글입니다.작성자: @kimyu0218
프리티어가 프리티어인 이유는 개복치이기 때문이다 😇
프리티어를 지원하는 ec2 인스턴스를 생성하고, ssh로 원격 접속하여 도커 컨테이너를 실행하고자 했다. 근데 도커 컨테이너가 곧바로 꺼지는 문제가 발생했다. (
황당..) 컨테이너의 exit code는 137로, OOM*으로 인한 종료를 의미했다.*OOM : (Out Of Memory) 인스턴스에서 사용할 수 있는 메모리가 모두 소진되어 더 이상 할당할 수 없는 상태
사양 높은 인스턴스를 쓰기엔 금전적인 수입이 없는 학생(?) 나부랭이라서 프리티어를 포기할 수 없었다. 다행히도 OOM 문제를 겪은 사람이 많아 이에 대한 해결책이 존재했다.
swap이란?
스왑은 컴퓨터에서 주메모리가 부족할 때 사용할 수 있는 보조 저장 공간이다. 주메모리는 프로그램에 필요한 데이터를 일시적으로 저장하는데, 가끔 시스템이 필요로 하는 메모리 양이 주메모리 용량을 초과하는 경우가 발생한다.
이런 경우, 주메모리에 저장할 수 없는 데이터를 HDD나 SSD 같은 보조 저장 장치에 저장하여 해결할 수 있다. 이를 스왑 공간이라고 부른다. (일종의 확장 메모리!!)swap space 만들기
OOM의 해결책은 바로 스왑 공간이다. 프리티어인 t2.micro의 램은 1G로 아주 사양이 낮다 (
ㅎㅎ) 프로그램을 실행하는 데 필요한 메모리가 1G를 초과하기 때문에 스왑 공간을 이용하여 램에 저장할 수 없는 데이터를 스왑 공간에 옮겨둬야 한다.
How to allocate memory to work as swap space
해당 포스트를 따라하여 스왑 메모리 공간을 할당해주면 된다! 나는 2G만 할당해주었다.
+) 다크모드 & 언어 변경하기
aws 콘솔을 이용하다 보면 한국인임에도 불구하고 영어가 그리워진다. 왜냐면 공식 영문서가 정말 잘 되어 있는데 콘솔이 다 한글이라 메뉴 찾는 게 정~말 힘들다.
우연히 상단의 설정 버튼을 클릭했는데 언어와 다크모드를 적용할 수 있다는 걸 알게 되었다 👍 이제 눈의 피로도 덜고, 메뉴 찾는데 시간을 허비하지 않아도 된다!!
'backend > aws' 카테고리의 다른 글
[aws] rds 만들기 (0) 2024.01.08 [aws] vpc 설정하기 (Connection timed out 이슈/네트워크 acl) (0) 2024.01.03 [aws] ec2 인스턴스 만들기 (키 페어/보안 그룹) (0) 2024.01.01 [aws] aws 시작하기 (region/AZ/IAM) (1) 2024.01.01 다음글이 없습니다.이전글이 없습니다.댓글