EC2에 docker를 올려 사용하다보니 메모리가 부족해졌다.
swap 파일을 추가하면 해결된다하여 적어본다.
Swap 적용 방법
스왑 파일 만들기 (2G) 변경 가능
sudo fallocate -l 2G /swapfile
root 사용자만 스왑파일에 접근 설정 (보안)
sudo chmod 600 /swapfile
mkswap을 사용해 swap파일을 스왑영역으로 설정
sudo mkswap /swapfile
swap파일 적용
sudo swapon /swapfile
swap파일 영구 적용
/etc/fstab 파일에 추가 /swapfile swap swap defaults 0 0
Swap파일 적용 해제
swapfile 비활성화 설정
sudo swapoff -v /swapfile
/etc/fstab
에 다음 행을 지웁니다./swapfile swap swap defaults 0 0
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 |
---|
댓글