Linux

메모리 스왑 설정하기

cjsrhd94 2023. 1. 15. 22:15

사내 개발서버에서 젠킨스를 사용하여 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 메모리가 표시되면 완료된 것이다.

swap 메모리 설정 확인