[TIL] 230825 작고 소중한 EC2 t2.micro CPU 100%: 서버 펑! Swap Memory 적용

CountryGirl·2023년 8월 25일
0

TIL

목록 보기
49/80

📌 문제점 & 시도 & 해결

👿 문제점

어느 날.. 아침이었다..

프론트: 서버가 안돼요!!!
나: 네..? 뭐요?!?!?!??! 왜요?!??! 어라

그냥 자고 일어났더니 서버가 안된다고 했다.
서버가 돌아가는지 Postman 으로 확인해보았다...
안됐다......

그리고 EC2 인스턴스를 확인해보니까 상태검사가 실패로 되어있었다.

모니터링을 보았다..........
이런

CPU 사용률이 100% 까지 올라갔고 이로 인해 상태 검사에서 실패가 됐던 것이다.


🤔 시도 & 해결

일단 인스턴스 재부팅을 하였다.

EC2 프리티어를 사용해 만든 t2.micro 인스턴스는 RAM 1GB까지만 제공하기 때문에 메모리 부족으로 인해 발생한 문제라고 생각했다.

RAM 부족으로 인해 페이지 폴트(page falut)가 빈번하게 발생하면서 CPU 사용률이 증가한 것 같았다.

Swap Memory 적용해서 RAM 부족 문제를 임시적으로 해결해보기로 하였다.

Swap Memory를 크게 할당할 경우, 너무 많은 데이터가 Swap 공간으로 이동하면서 성능저하가 발생할 수 있기 때문에 RAM 크기의 2배로 할당하기로 하였다.

1. 원하는 swap 파일을 만든다.

  • 1GB : count ≈ 8
  • 2GB : count ≈ 16
  • 3GB : count ≈ 24
  • 4GB : count ≈ 32
sudo dd if=/dev/zero of=/swapfile bs=128M count=16

RAM 크기(1GB)의 2배인 2GB(count=16)를 할당하였다.

2. swap 파일에 대한 읽기 및 쓰기 권한 업데이트

sudo chmod 600 /swapfile

3. Linux swap 영역 설정

sudo mkswap /swapfile

4. swap 파일을 swap 공간에 추가해 즉시 사용할 수 있도록!

sudo swapon /swapfile

5. 전체 메모리 사용량 확인

free -h


✅ REFERENCE

AWS: 스왑 파일을 사용하여 Amazon EC2 인스턴스에서 스왑 공간으로 작동하도록 메모리를 할당하려면 어떻게 해야 합니까?

profile
💻🌾시골소녀의 엉망징창 개발 성장일지🌾💻 (2023.05.23 ~)

0개의 댓글