서론
이번 회고는 서버의 메모리 부족 문제를 해결하기 위해 Swap 메모리를 생성하고 적용한 경험에대해 작성해보려고 한다.
P프로젝트를 진행하면서 Github Actions, EC2, RDS, 도커를 이용해서 CICD를 구축했었는데, 당연히 유료는 대학생 입장에서 너무 부담스러웠었기에 AWS 프리 티어를 사용했었다. t2.micro 인스턴스는 1GB RAM만 제공하는데, 여러 가지 서비스를 동시에 돌리다 보면 메모리가 부족해서 서버가 자동으로 다운되는 문제점이 있었다
문제점
위 사진의 내용처럼 CPU 사용량이 100%에 가까워지게 되면서, CPU의 모든 크레딧이 소진되어 네트워크 출력이 0이 되어서 서버가 자동적으로 다운됐던 것이다. 해당 문제를 해결하기 위해 난 스왑 메모리를 설정하여 이를 해결했는데, 해당 방식을 공유해 보려한다
본론
1. termius와 같은 쉘로 SSH 접속
2. Swap 메모리 생성 및 활성화
sudo dd if=/dev/zero of=/swapfile bs=128M count=32
3. Swap 파일 권한 변경
sudo chmod 600 /swapfile
4. Swap 파일 포맷 및 활성화
sudo mkswap /swapfile
sudo swapon /swapfile
5. Swap 메모리 적용 확인
sudo swapon -s
6. 재부팅 시에도 적용( /etc/fstab 파일 수정 )
sudo vi /etc/fstab
아래 내용 추가한 뒤에 저장
/swapfile swap swap defaults 0 0
참고한 자료