메모리 스왑 설정하기
사내 개발서버에서 젠킨스를 사용하여 CI/CD 작업을 하고 있다.
그런데 종종 젠킨스가 동작할 때 메모리 점유율이 비정상적으로 높아지며 개발 서버가 다운되는 현상이 발생했다.
이에 메모리 용량을 임시적으로 늘리기 위해 개발서버에 메모리 스왑을 설정했다.
메모리 스왑 방법은 AWS에서 친절하게 안내하고 있다.
https://aws.amazon.com/ko/premiumsupport/knowledge-center/ec2-memory-swap-file/
스왑 파일을 사용하여 Amazon EC2 인스턴스의 스왑 공간으로 메모리 할당
닫기 John 씨의 동영상을 통해 자세히 알아보기(3:37)
aws.amazon.com
메모리 스왑 설정
1. dd 명령을 사용하여 스왑 파일을 생성한다. bs는 블록 크기이고, count는 블록 수이다. 스왑 파일의 크기는 bs와 count를 곱한 값이다.
일반적으로 스왑 메모리의 용량은 메모리 크기의 약 두배 정도로 잡는다. (단 256MB 이상으로 한다.) 따라서 AWS 프리 티어의 t2.micro의 경우 2GB 정도의 스왑 메모리를 설정해주는 것이 적당하다. (128 * 16)
$ sudo dd if=/dev/zero of=/swapfile bs=128M count=16
2. 스왑 파일의 읽기 및 쓰기 권한을 업데이트 한다.
$ sudo chmod 600 /swapfile
3. 스왑 영역을 설정한다.
$ sudo mkswap /swapfile
4. 스왑 공간에 스왑 파일을 추가하여 즉시 사용할 수 있도록 한다.
$ sudo swapon /swapfile
5. 재부팅 시 스왑 파일을 시작할 수 있도록 설정한다. 아래 명령어를 입력해 vim으로 파일을 연다.
$ sudo vi /etc/fstab
6. 파일 끝에 아래 설정을 추가하고 파일을 저장한 다음 종료한다.
* vim 사용법을 모르시면 자주 사용하는 vim 단축키 내 사용예제를 확인하세요.
/swapfile swap swap defaults 0 0
7. free 명령어를 통해 swap 파일이 제대로 설정되었는지 확인한다.
$ free
아래와 같이 Swap 메모리가 표시되면 완료된 것이다.