SW/리눅스

Linux : Ubuntu 20.04 : Swap Space(스왑 공간) 추가 방법, 예제, 명령어

얇은생각 2022. 9. 14. 07:30
반응형

스왑은 실제 RAM 메모리가 가득 찼을 때 사용되는 Disk의 공간입니다. 리눅스 시스템의 RAM이 부족하면 비활성 페이지가 RAM에서 스왑 공간으로 이동합니다.

스왑 공간은 전용 스왑 파티션 또는 스왑 파일 형식을 취할 수 있습니다. 일반적으로 가상 시스템에서 Ubuntu를 실행할 때는 스왑 파티션이 없으며 유일한 옵션은 스왑 파일을 생성하는 것입니다.

이 튜토리얼에서는 Ubuntu 20.04에서 스왑 파일을 추가하는 방법을 설명합니다.

 

 

Linux : Ubuntu 20.04 : Swap Space(스왑 공간) 추가 방법, 예제, 명령어

 

 

시작하기 전에

스왑은 물리적 메모리를 대체하는 것으로 간주해서는 안 됩니다. 스왑 공간은 하드 드라이브의 한 부분이기 때문에 물리적 메모리보다 액세스 시간이 느립니다. 시스템의 메모리가 계속 부족하면 RAM을 추가해야 합니다.

일반적으로 스왑 파일의 크기는 시스템의 RAM 크기에 따라 달라집니다.

 

RAM이 2GB 미만인 시스템 - RAM 크기의 2배입니다.

2~8GB RAM이 장착된 시스템 - RAM 크기와 동일합니다.

RAM이 8GB 이상인 시스템 - 스왑이 4GB 이상입니다.

 

루트 또는 sudo 권한이 있는 사용자만 스왑 파일을 활성화할 수 있습니다.

 

 

 

스왑 파일 생성

이 예에서는 2GB 스왑 파일을 생성하겠습니다. 스왑을 더 추가하려면 2G를 필요한 스왑 공간 크기로 교체합니다.

아래 단계를 완료하여 Ubuntu 20.04에 스왑 공간을 추가하십시오.

먼저 스왑으로 사용할 파일을 만듭니다.

sudo fallocate -l 2G /swapfile

 

 

시스템에 fallocate 유틸리티가 없거나 fallocate failed(fallocate 실패)라는 오류 메시지가 표시되는 경우: 작업이 지원되지 않습니다. 다음 명령을 사용하여 스왑 파일을 생성하십시오.

sudo dd if=/dev/zero of=/swapfile bs=1024 count=2097152

 

 

일반 사용자가 파일을 쓰고 읽지 못하도록 파일 사용 권한을 600으로 설정합니다.

sudo chmod 600 /swapfile

 

 

파일에 Linux 스왑 영역을 생성합니다.

sudo mkswap /swapfile

# Setting up swapspace version 1, size = 2 GiB (2147479552 bytes)
# no label, UUID=fde7d2c8-06ea-400a-9027-fd731d8ab4c8

 

 

다음 명령을 실행하여 스왑 파일을 활성화합니다.

sudo swapon /swapfile

 

 

변경을 영구적으로 수행하려면 /etc/fstab 파일을 엽니다.

sudo nano /etc/fstab

 

 

다음 줄을 붙여 넣습니다.

# /etc/fstab

/swapfile swap swap defaults 0 0

 

 

아래와 같이 swapon 또는 free 명령을 사용하여 스왑이 활성 상태인지 확인합니다.

sudo swapon --show

# NAME      TYPE      SIZE  USED PRIO
# /swapfile file        2G    0B   -1

 

 

sudo free -h

#               total        used        free      shared  buff/cache   available
# Mem:          981Mi        97Mi        68Mi       0.0Ki       814Mi       735Mi
# Swap:         2.0Gi        10Mi       1.9Gi

 

 

 

스와피시 값을 조정

스왑성은 시스템에서 스왑 공간을 사용하는 빈도를 정의하는 Linux 커널 속성입니다. 값은 0에서 100 사이일 수 있습니다. 값이 낮으면 커널이 가능한 한 스왑을 피하려고 하지만 값이 높을수록 커널이 스왑 공간을 더 적극적으로 사용하게 됩니다.

Ubuntu에서는 기본 swappiness 값이 60으로 설정됩니다. 다음 명령을 입력하여 현재 값을 확인할 수 있습니다.

cat /proc/sys/vm/swappiness

# 60

 

 

대부분의 리눅스 시스템에서는 swappiness 값 60이 정상이지만 프로덕션 서버의 경우 더 낮은 값을 설정해야 할 수 있습니다.

예를 들어 swappiness 값을 10으로 설정하려면 다음을 실행합니다.

sudo sysctl vm.swappiness=10

 

 

재부팅 후에도 이 매개 변수를 유지하려면 /etc/sysctl.conf 파일에 다음 줄을 추가하십시오.

# /etc/sysctl.conf

vm.swappiness=10

 

 

최적의 스와피시 값은 시스템 워크로드와 메모리 사용 방법에 따라 달라집니다. 최적의 값을 찾으려면 이 모수를 조금씩 조정해야 합니다.

 

 

 

스왑 파일을 제거

스왑 파일을 비활성화 및 삭제하려면 다음 단계를 수행하십시오.

먼저 스왑 공간을 비활성화합니다.

sudo swapoff -v /swapfile

 

 

그런 다음 /etc/fstab 파일에서 스왑 파일 항목 /swapfile 스왑 기본값 0을 제거합니다.

마지막으로 rm 명령을 사용하여 실제 스왑 파일 파일을 제거합니다.

sudo rm /swapfile

 

 

Ubuntu 20.04 시스템에서 스왑 파일을 생성하고 스왑 공간을 활성화 및 구성하는 방법을 보여드렸습니다.

 

 

 

참조

https://linuxize.com/post/how-to-add-swap-space-on-ubuntu-20-04/

반응형