문제 상황
최근 EC2를 통해 Spring boot 프로젝트 서비스 배포를 하는 과정에서 CPU 사용률 100% 에러를 겪었다
분명 배포가 제대로 잘 되었는데 다음 날 되니까 서버 접속이 안됨 ;;
외주 업체 측에서 만들어준 계정이라 aws 계정이 내 계정이 아니여서 처음엔 진짜 이게 무슨 문제인지 전혀 알지 못했다
그래서 인스턴스 재가동만 5-6번 정도 한듯
내 개인프로젝트도 아니고 외주라 반드시 원인을 찾아야했고,
인스턴스가 갑자기 정지되는 현상에 대해 열심히 구글링 해보니 t2.micro 프리티어를 사용할 시
cpu 사용량이 100% 에 이르게 되면 메모리가 부족해져 갑자기 서버가 다운되버리는 현상이 흔하게 발생한다는 것을 알 수 있었다
top 명령어를 통해 어떤 프로그램이 얼마나 메모리를 차지하고 있는지 볼 수 있는데 내 경우에는 my sql 서버를 따로두지 않고
직접 인스턴스 내에 설치해서 그런가 엄청나게 메모리를 많이 잡아먹고 있었음
(다음엔 RDS 를 활용해봐야겠다)
해결 과정
https://sundries-in-myidea.tistory.com/102
AWS EC2 프리티어에서 메모리 부족현상 해결방법
AWS free tier를 사용하다보면 2%가 부족할 때가 있다. AWS 프리티어는 가난한 대학생에게는 한줄기 빛과 같은 존재인데, AWS의 프리티어라서 적게 돈이 나가는 것도 좋고, 실제로 이것저것 해볼 수 있
sundries-in-myidea.tistory.com
위 블로그를 참고해 swap 메모리 공간을 2Gi 정도 할당해주어 문제를 해결하였다.

'Spring🌱 > 트러블슈팅' 카테고리의 다른 글
[spring boot] DTO HttpMessageConversionException 에러 해결 Jackson (역직렬화 문제) (1) | 2024.11.20 |
---|---|
[spring boot] 이미지 파일 업로드 서버 재시작 해야 보이는 오류 해결-프로젝트 외부 경로 파일 가져오기 (1) | 2024.10.18 |