[Linux] swap 메모리 설정

전형빈·2023년 3월 10일
0

Linux

목록 보기
2/5
post-thumbnail

리눅스 서버에서 swap 메모리 설정 후 적용하기

스왑 메모리란, 실제 메모리 램이 가득 찼지만 더 많은 메모리가 필요할 때 디스크 공간을 이용하여 부족한 메모리를 대체할 수 있는 공간이다.

실제 디스크 공간을 메모리처럼 사용하는 개념이기 때문에 가상 메모리라고 할 수 있고 속도면에선 실제 메모리 보단 현저히 떨어진다.

그럼에도 불구하고 스왑 메모리를 사용하는 이유는 예를 들어 ec2에서 t2.micro를 사용하면 램이 1G가 밖에 되지 않아서 spring만 띄어도 메모리가 부족한데 이럴 경우 swap을 사용하면 메모리가 부족하더라도 여러 개의 프로세스를 띄울 수 있다.

서버에 접속해서 swapon -s 또는 free -h 명령어를 사용하면 swap 메모리를 확인할 수 있다.
현재 할당된 swap 메모리가 없어서 swap total이 0이라고 나옴

해당 서버에 swap 메모리로 1기가를 할당해 보도록 하자. 먼저 Swap 메모리를 Swap 파일로 포맷해야 한다.

swap 메모리 추가

sudo dd if=/dev/zero of=/swapfile bs=1M count=1000

bs는 포맷의 단위이다. 즉 1M로 1000번 초기화 했으니 총 1G의 공간이 생긴 것이다.

Swap 메모리를 Swap 파일로 포멧 후 활성화

mkswap /swapfile // swap 파일로 포맷
swapon /swapfile // swap 메모리 활성화

만약 swapon 명령어 실행 후 퍼미션 에러가 나면 해당 파일 권한을 chmod 명령어로 644 or 600으로 변경해줘야 한다.

Device or resource busy 에러가 나오면 swapoff 후 swapon 하면 된다.

설정이 끝나고 free -h 로 확인해 보면 아래와 같이 swap 메모리가 설정된다.

시스템 재부팅 시에도 자동으로 swap 설정

# 파일시스템 설정
vi /etc/fstab 

# 마지막 행에 추가, 시스템이 재시작되더라도 활성화
/swapfile swap swap defaults 0 0

여기까지 설정이 끝나면 시스템이 재시작 되더라도 할당한 swap 메모리가 자동으로 설정된다.


당연히 swap 사이즈도 변경할 수 있고 swap 메모리 비활성화나 삭제도 가능하다.


비활성화하려면 swapoff /swapfile 명령어를 사용하면 되고,
삭제하려면 rm -r /swapfile 명령어를 사용하면 된다.

0개의 댓글