AWS t2 tier 이용하기 – swap memory

AWS t2 tier 이용하기 – swap memory

문제점

회사에서 Aws t2.small 티어를 이용하던 중에 Alertmanager 로 부터 아래의 alert message 를 받게 되었습니다.

메시지를 확인해보니 제가 회사에서 관리하는 docker 모듈들을 간단히 web에 확인해보고자 설치한 Portainer | Simple management UI for Docker 인스턴스가 Memory swap 용량을 절반 이상을 사용했다고 합니다.

Instance 에 접속해서 memory 를 확인합니다.

$ free -mh

Swap memory 가 1M? 2M? 정도 밖게 되지 않습니다.

그래서 아무도 사용하지 않는(..) portainer 인스턴스에서 괴상하게 얼럿이 날라왔던 것입니다.

해결책

해결을 위해 관련 정보를 찾아봅니다.

Adding swap space to an EC2 Amazon Linux instance – PTS: Technical Consulting

위의 포스팅 대로 따라하면 손쉽게 스왑메모리를 확보할 수 있습니다…만,

전 간단하게 불필요한걸로 보이는 명령은 빼고 아래 명령만 실행했습니다.

sudo swapoff -a
sudo dd if=/dev/zero of=/var/swapfile bs=1M count=1024   
sudo mkswap /var/swapfile
sudo swapon /var/swapfile
sudo swapon -s

free -mh

간단히 스왑을 끄고, 1기가 스왑 파일 할당후에 스왑 적용 했습니다.

제가 사용한 인스턴스는 t2.small 로 1G의 스왑메모리가 적당하다고 판단해서 만들었습니다.

용량은 각자 지정하면 될 듯 합니다.

결론

  • aws t2 tier 의 인스턴스를 사용할 경우 OOM이 나은 선택일 경우는 그냥 쿨하게 더 높은 인스턴스를 사용하자.
  • 느려져도 관계없이 잘 돌아가기만 해도 되는 서비스라면, t2 사용시 swap 메모리를 항상 조정해주자.