Ops/Linux

[Linux] Swap 설정하기 / Swapfile 생성, 삭제 (Ubuntu)

장그래 2022. 5. 17. 18:54
반응형

Swap

시스템이 처리하고 있는 데이터를 저장할 RAM이 충분하지 않을 때 스왑 공간에 데이터를 옮겨놓는 방식으로 RAM 공간을 확보한다.
(즉, RAM 공간이 부족할 때 하드 디스크 용량을 임시로 쓰겠다는 소리)
RAM 보다 속도가 느리기 때문에 RAM의 대체제로 생각하면 안 된다. 


Swap 설정하기

 

1. 스왑 파일/파티션 존재 여부 확인

먼저, 아래 명령어로 스왑 파일이나 스왑 파티션이 있는지 확인하자

free -m
# swap 파일이 있는 상태
             total       used       free     shared    buffers     cached
Mem:        128811      95590      33220        136         54       4762
-/+ buffers/cache:      90774      38036
Swap:       128934          0     128934

#swap 파일이 없는 상태 
              total        used        free      shared  buff/cache   available
Mem:         290196        1279      280430           2        8486      286985
Swap:             0           0           0

 

그리고, 아래 명령어를 입력해 swap 설정 여부를 확인한다.

swapon -s
:~$ swapon -s # 스왑 설정이 되어 있는 상태
Filename				Type		Size	Used	Priority
/dev/sdb2                               partition	132029436	0	-1


# 스왑 설정이 안되어있으면, 아무것도 나오지 않음


2. swapfile 생성 

스왑 용도로 사용할 swapfile을 생성한다. (용량 설정은 서비스에 맞게 설정하면 되지만, 메모리의 x2로 설정하는 것을 추천한다)
ex) RAM = 8GB -> SWAP = 16GB

fallocate -l <용량> <경로>/swapfile 

#ex)
fallocate -l 2G /data001/swapfile

루트 사용자만 swapfile을 읽고 쓸 수 있도록 권한을 변경해준다.

sudo chmod 600 /data001/swapfile


해당 파일을 스왑으로 동작하게 해준다.

sudo mkswap /data001/swapfile

아래 명령어로 스왑을 활성화시킨다.

sudo swapon /data001/swapfile

3. swapfile 설정 유지

위 명령어로만 swap을 설정했을 때 재부팅을 하게 되면, swap 설정이 날아가게 된다. 재부팅 후에도 swap 설정을 유지하고 싶다면, 아래 명령어로 설정을 해보자.

sudo vi /etc/fstab
# 내용 추가 
/data001/swapfile swap swap defaults 0 0

4. swapfile 삭제 

한 번 Swap을 설정했으면, 굳이 삭제할 필요는 없지만, 삭제하고 싶다면 아래 명령어로 삭제해보자.

먼저, swapfile을 비활성화 시킨다.

sudo swapoff -v /data001/swapfile

/etc/fstab에 추가했던 내용을 삭제한다.

sudo vi /etc/fstab

# 추가했던 행 삭제 
/data001/swapfile swap swap defaults 0 0

생성했던 swapfile을 삭제해준다.

sudo rm /data001/swapfile
반응형