SW/리눅스

Linux : 스왑 파일을 생성하는 방법

얇은생각 2020. 9. 25. 07:30
반응형

Linux : 스왑 파일을 생성하는 방법

 

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

스왑 공간은 전용 스왑 파티션 또는 스왑 파일의 형태를 취할 수 있습니다. 대부분의 경우 가상 시스템에서 Linux를 실행할 때 스왑 파티션이 없으므로 유일한 옵션은 스왑 파일을 생성하는 것입니다. 

이 튜토리얼은 Ubuntu 18.04 CentOS 7가 설치된 Linux 시스템에서 테스트되었습니다. 다른 Linux 배포 버전과 함께 사용할 수 있습니다.

 

 

 

스왑 파일을 추가하는 방법

다음 단계에 따라 서버에 1GB의 스왑을 추가합니다. 1GB 대신 2GB를 추가하려면 1G를 2G로 교체합니다.

 

01. 스왑에 사용할 파일을 만듭니다.

sudo fallocate -l 1G /swapfile

 

If faillocate is not installed or if you get an error message saying fallocate failed: Operation not supported then you can use the following command to create the swap file:

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

 

 

02. Only the root user should be able to write and read the swap file. To set the correct permissions type:

sudo chmod 600 /swapfile

sudo chmod 600 /swapfile

 

03. Use the mkswap utility to set up the file as Linux swap area:

sudo mkswap /swapfile

sudo mkswap /swapfile

 

04. Enable the swap with the following command:

sudo swapon /swapfile

 

To make the change permanent open the /etc/fstab file and append the following line:

/swapfile swap swap defaults 0 0

 

05. To verify that the swap is active, use either the swapon or the free command as shown below:

sudo swapon --show

# NAME      TYPE  SIZE   USED PRIO
# /swapfile file 1024M 507.4M   -1

 

sudo free -h

#               total        used        free      shared  buff/cache   available
# Mem:           488M        158M         83M        2.3M        246M        217M
# Swap:          1.0G        506M        517M

 

 

 

swappiness 값을 조정하는 방법

스왑 기능은 시스템에서 스왑 공간을 사용하는 빈도를 정의하는 Linux 커널 속성입니다. 스왑의 값은 0에서 100 사이일 수 있습니다. 값이 낮으면 커널이 가능한 경우 언제든지 스와핑을 피하려고 시도하는 반면, 값이 높을수록 커널이 스왑 공간을 보다 적극적으로 사용할 수 있습니다. 

기본 스왑 기능 값은 60입니다. 다음 명령을 입력하여 현재 swappiness 값을 확인할 수 있습니다.

cat /proc/sys/vm/swappiness

# 60

 

대부분의 Linux 시스템에서 60의 스왑 기능 값은 괜찮지만 프로덕션 서버의 경우 더 낮은 값을 설정해야 할 수 있습니다.

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

sudo sysctl vm.swappiness=10

 

 

재부팅 시 이 매개 변수를 영구적으로 만들려면 /etc/sysctl.conf 파일에 다음 줄을 추가합니다.

vm.swappiness=10

 

최적의 스왑 기능 값은 시스템 워크로드와 메모리 사용 방법에 따라 달라집니다. 최적의 값을 찾으려면 이 파라미터를 작은 단위로 조정해야 합니다. 

 

 

 

스왑 파일을 제거하는 방법

어떤 이유로든 스왑 파일을 비활성화 및 제거하려면 다음 단계를 수행합니다.

 

01. 먼저 다음을 입력하여 스왑을 비활성화합니다.

sudo swapoff -v /swapfile

 

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

 

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

sudo rm /swapfile

 

 

 

결론

Linux 시스템에서 스왑 파일을 생성하고 스왑 공간을 활성화 및 구성하는 방법을 배웠습니다.

반응형