본문 바로가기
서버/AWS

EC2 메모리 부족 Swap 파일 추가

by eclipse7727 2022. 6. 14.

EC2에 docker를 올려 사용하다보니 메모리가 부족해졌다.

swap 파일을 추가하면 해결된다하여 적어본다.

Swap 적용 방법

  1. 스왑 파일 만들기 (2G) 변경 가능

    sudo fallocate -l 2G /swapfile
  2. root 사용자만 스왑파일에 접근 설정 (보안)

    sudo chmod 600 /swapfile
  3. mkswap을 사용해 swap파일을 스왑영역으로 설정

    sudo mkswap /swapfile
  4. swap파일 적용

    sudo swapon /swapfile
  5. swap파일 영구 적용

    /etc/fstab 파일에 추가
    /swapfile swap swap defaults 0 0

Swap파일 적용 해제

  1. swapfile 비활성화 설정

    sudo swapoff -v /swapfile
  2. /etc/fstab에 다음 행을 지웁니다.

    /swapfile swap swap defaults 0 0
  3. rm으로 swapfile 삭제합니다.

    sudo rm /swapfile

Swappiness 값 조정

Swappiness 란

Swappiness는 시스템이 swap파일을 사용하는 빈도를 정의하는 값입니다.
0 ~ 100까지의 값을 가집니다.
값이 낮을수록 커널은 swapping을 하지 않으며, 높을수록 적극적으로 swapping을 하게 됩니다.
default값은 60입니다. 다음 명령어를 통해 확인이 가능합니다.

cat /proc/sys/vm/swappiness

Output
60

Swappiness 값 변경

Production 서버의 경우 더 낮은 값을 설정하는게 좋습니다.
swappiness 값을 10으로 설정하려면 다음 sysctl 명령을 실행합니다.

sudo sysctl vm.swappiness=10

재부팅시에도 지속하게 설정하려면 /etc/sysctl.conf 파일에 다음 행을 추가하세요.

vm.swappiness=10

최적의 swappiness 값은 다를 수 있으니 이 값을 조정하면서 찾아야 합니다.

반응형

'서버 > AWS' 카테고리의 다른 글

리눅스 백그라운드 실행  (0) 2022.07.12

댓글