본문 바로가기
AWS

스왑 메모리 설정하기

by 히포파타마스 2024. 7. 5.

스왑 메모리 설정하기

 

AWS의 EC2를 사용하고 있는데 프리티어를 사용하다 보면

램 메모리가 1GB 밖에 되지 않기 때문에 메모리가 부족한 현상을 겪을 수 있다.

특히 스프링 서비스에 테스트가 조금만 많아져도 빌드시 무한 로딩에 걸리는 현상이 종종 발생한다.

 

근본적으로 램 메모리가 부족해서 발생하는 문제인데

프리티어는 램 메모리가 제한되어있으므로 약간의 편법을 사용해서 해결해야 한다.

 

여기서는 디스크 용량을 이용해서 부족한 메모리를 대체하는 스왑 메모리라는 방법을 사용한다.

 

1. 스왑 메모리 설정

1.1 메모리를 할당할 파일 생성

스왑 메모리로 사용할 파일을 생성한다.

스왑 메모리의 권장 크기는 다음과 같다.

 

[권장 스왑 공간 표]

 

 

나는 128M x 32 = 4096, 4GB로 파일을 생성하였다.

 

[스왑 메모리 파일 생성]

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

 

● dd : 블록 단위로 파일을 복사하거나 파일 변환을 할 수 있는 명령어

● if : 지정한 파일을 입력 대상으로 설정

● of : 지정한 파일을 출력 대상으로 설정

● bs : 한 번에 변환 작업 가능한 바이트 크기

● count : 지정한 블록 수만큼 복사

 

위의 명령어를 사용하면 해당 경로에 4GB의 swapfile이 생성된다.

 

[swapfile]

 

이제 4GB의 swapfile을 만들었고 해당 파일을 스왑 메모리로 설정해주면 된다.

※ swapfile의 경로는 원하는 곳에 원하는 파일명으로 설정하면 된다.

 

swapfile의 설정을 변경할 수 있도록 읽기, 쓰기가 가능하도록 변경해 준다.

 

[파일 권한 설정]

sudo chmod 600 /swapfile

 

 

1.2 swap 영역 설정 및 할당

swap 영역을 설정한다.

 

[스왑 영역 설정]

sudo mkswap /swapfile

 

 

스왑 공간에 스왑 영역으로 설정된 swapfile을 추가해 준다.

 

[스왑 공간에 swapfile 추가]

sudo swapon /swapfile

 

 

free 명령어를 통해 정상적으로 스왑 메모리가 설정되었는지 확인할 수 있다.

 

[스왑 메모리 확인]

 

 

1.3 스왑 메모리 자동 활성화

시스템 부팅 시마다 자동으로 스왑 메모리가 활성화되도록 설정해 준다.

 

다음과 같이 fstab 파일을 편집한다.

 

[fstab 편집]

sudo vi /etc/fstab

 

 

이후 아래 내용을 추가하고 저장한다.

 

[스왑 메모리 자동 활성화 설정]

/swapfile swap swap defaults 0 0

 

[스왑 메모리 자동 활성화 설정 예시]

 

vi 편집기에서 I를 통해서 내용을 추가할 수 있고 exc -> :wq 를 입력하는 것으로 저장&종료할 수 있다.

'AWS' 카테고리의 다른 글

보안 그룹(EC2, RDS 설정)  (1) 2024.07.05

댓글