어느 날.. 아침이었다..
프론트: 서버가 안돼요!!!
나: 네..? 뭐요?!?!?!??! 왜요?!??! 어라
그냥 자고 일어났더니 서버가 안된다고 했다.
서버가 돌아가는지 Postman 으로 확인해보았다...
안됐다......
그리고 EC2 인스턴스를 확인해보니까 상태검사가 실패로 되어있었다.
모니터링을 보았다..........
이런
CPU 사용률이 100% 까지 올라갔고 이로 인해 상태 검사에서 실패가 됐던 것이다.
일단 인스턴스 재부팅을 하였다.
EC2 프리티어를 사용해 만든 t2.micro 인스턴스는 RAM 1GB까지만 제공하기 때문에 메모리 부족으로 인해 발생한 문제라고 생각했다.
RAM 부족으로 인해 페이지 폴트(page falut)가 빈번하게 발생하면서 CPU 사용률이 증가한 것 같았다.
Swap Memory 적용해서 RAM 부족 문제를 임시적으로 해결해보기로 하였다.
Swap Memory를 크게 할당할 경우, 너무 많은 데이터가 Swap 공간으로 이동하면서 성능저하가 발생할 수 있기 때문에 RAM 크기의 2배로 할당하기로 하였다.
sudo dd if=/dev/zero of=/swapfile bs=128M count=16
RAM 크기(1GB)의 2배인 2GB(count=16)를 할당하였다.
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
free -h
AWS: 스왑 파일을 사용하여 Amazon EC2 인스턴스에서 스왑 공간으로 작동하도록 메모리를 할당하려면 어떻게 해야 합니까?