November 18, 2021
현재 베타 테스트로 진행 중인 AWS의 EC2 인스턴스가 자꾸 상태이상 1/2 상태로 되면서 접속이 불가능했었다.
간헐적으로 일어나는걸 보면 뭔가 문제가 좀 심각한 거 같았다.
AWS를 잘 쓰는 타입은 아니라서…
클라우드 워치인가 모니터링 툴을 봤는데 CPU 사용률이 갑자기 치솟다가 멈춰 버리는 구간이 보였다.
정확히 표현하면 내가 운영하는 서비스에 로그가 기록되는데, 일정 시간 마지막 로그를 보면 그 CPU 사용률이 튄 뒤부터 로그가 끊겼다.
그렇다고 내 서비스가 CPU 파워를 엄청 쓰는 것도 아니고…접속률은 베타라서 그렇게 많지 않다.
커널 로그인가에서 메모리 관련 에러를 찾아봤지만 없었다. (근데 메모리가 범인…)
도데체 뭐가 문제인가 하다가 이것저것 검색을 하던 도중 나랑 비슷한 증상을 가진 글 을 보게 되었다.
여기에 나온것과 같이 메모리 문제였다.
근데 나 같은 경우 위에서 나온 명령어는 동작하지 않았다.
내 환경은 Ubuntu 20.04 LTS였다. (물론 지금 베타테스트 환경은 또 다르다…) 위 운영체제를 기준으로 작성하겠다.
위 명령어를 풀어서 설명하면…
test@ip-999-99-999-99:/$ sudo mkswap /swapfile
mkswap: /swapfile: warning: wiping old swap signature.
Setting up swapspace version 1, size = 10 GiB (10737414144 bytes)
no label, UUID=8a30d01e-c3b0-4ccc-bbbb-ada01aaaaac
total used free shared buff/cache available
Mem: 968 485 90 0 393 330
Swap: 10239 260 9979
만약 뭔가 꼬이거나 스왑을 풀어야 할 경우 다시 아래대로 해준다.
보충 설명은 아래…
EC2가 갑자기 내려가는 경우는 다양한데, 이번처럼 CPU 파워를 막 치고 가다 다운되는게 메모리 부족때문인지는 몰랐다.
사실 내가 잘못 로직을 짠게 있나 싶었는데…
무튼 이 뒤로 한 4일 갔는데 아직 증상이 나타나진 않고 안정적으로 잘 되고 있다.
찾아보니 스왑은 아무래도 램이 아닌 하드 또는 SSD를 쓰는 거라서 퍼포먼스에서 이슈가 발생할 수 있다.
하지만 베타테스트 운영이나 개발 목적으로는 스왑을 써도 충분한거 같다.
나중에는 결국 하드웨어 스팩을 돈으로 올려야 하겠지만 말이다. ㅎㅎ