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 메모리를 항상 조정해주자.