Dangil project(14)

Junyoung·2024년 5월 23일

Dangil Project

목록 보기
14/20

인프라를 다 구축한 뒤 잘 돌아가던 서버에서 백엔드 빌드 과정에서 10분이 넘어가는 문제가 발생했다.

그리고 정확히 13시간 뒤 서버가 뻗은 후 다시 켜졌다가 뻗기를 반복했다...

같은 경우가 있는지 찾아봤고 보통 프리티어(ram1GB) EC2에서 많이 발생하는 현상이였다.

메모리 부하로 인해서 빌드 과정이 원활하지 않고 그 과정에서 과부화된 Ram용량으로 서버가 뻗는걸로 예상된다.

다음과 같은 flow로 이를 해결했다.

  1. 메모리를 먼저 확인하고 어떤 프로세스가 문제인지 판별한다

  2. 메모리가 작다면 메모리를 늘리던가

  3. 스왑 램을 늘리는 방법이 존재한다.

[AWS] EC2가 너무 느려질 때 램 늘리기

우선 인스턴스에 들어가서 서버를 재시작했다

서버가 다시 돌아왔다

현재 spring, MySQL, Nginx, certbot 네개의 컨테이너가 올라가있는데 15기가가 남아있는 상태이다.

엘라스틱 서치와 키바나를 띄워보겠다

엘라스틱 서치와 키바나가 현재 10기가를 차지하고 있는것을 확인할 수 있다.

이유를 찾았다

그치만 엘라스틱 서치를 사용하지 않을수는 없다

ES, 자바 서버를 올리고 젠킨스까지 올리니 메모리 사용률이 다음과 같다

이러니 서버가 죽었지..

따라서

메모리 스왑 설정을 하려고 한다

AWS EC2 램 늘리기(feat. 스왑)

dd if=/dev/zero of=/swapfile bs=128M count=256

chmod 600 /swapfile

mkswap /swapfile

swapon /swapfile

echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

지금 보면 가상메모리 할당이 정상적으로 된것을 확인할수 있다.

찾아보니 먼저 주기억장치에 할당하는걸 볼수있다 !

이는 OS에서 주기억장치에 먼저 할당한다고 한다

이후에 주기억장치가 모자르다고 판단이 될때 가상메모리를 사용하는 개념이라고 한다 !

이후 3주가 지난 시점

서버의 단 한번의 메모리 오류가 없었다

정상적으로 운영할 수 있었다.

profile
라곰

0개의 댓글