EC2 메모리 부족 해결 - KUSITMS-4GATE/Groad-Server GitHub Wiki

출처 블로그

서론

EC2 프리티어를 사용중 CD/CD를 위해 deploy-agent와 docker를 사용하는데 메모리가 부족한 현상이 일어났다.

해결 방법

EC2 유형을 업그레이드 한다.

swap file

swap file이란 메모리가 부족할 때 디스크 일부분을 메모리에서 사용하는 방법이다. 더 많은 메모리를 사용할 수 있다는 장점이 있지만, 디스크 공간이기 때문에 성능이 저하된다는 단점이 있다.

1. ec2에 접속 후 swapfile에 메모리를 할당한다.

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

dd -> 파일 관련 유닉스 명령어 /dev/zero -> 데이터 스토리지 초기화 관련파일 bs -> 블록 크기 지정 count -> 횟수

이렇게 총 2.1GB의 스왑파일 생성을 한다.

2. swapfile 접근권한 설정

sudo chmod 600 /swapfile

3. 메모리 파티션 설정

sudo swapon /swapfile

/swapfile을 스왑 파티션으로 설정하고, 시스템 메모리 부족 상황에서 /swapfile을 스왑 공간으로 사용할 수 있게 설정한다.

4. swapfile 마운트

/etc/fstab 파일에 한 줄을 추가한다.

/swapfile swap swap defaults 0 0

fstab은 부팅시에 마운트할 파일 시스템과 파티션을 설정하는 파일이다.

/swapfile을 스왑 파티션으로 설정하고, 부팅시 자동으로 마운트하도록 설정한다.

5. 확인하기

free 명령어를 통해 할당된 메모리를 확인할 수 있다.

이렇게 되면 시스템이 메모리 부족 상황에서 스왑 공간으로 사용된다.

참고


https://kth990303.tistory.com/361