SW/리눅스

CentOS 7 : Swap Space 추가 방법, 예제, 명령어

얇은생각 2021. 4. 8. 07:30
반응형

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

스왑 공간은 전용 스왑 파티션 또는 스왑 파일의 형식을 취할 수 있습니다. 대부분의 경우 실행할 때 사용합니다. 가상 시스템의 스왑 파티션이 없으므로 스왑 파일만 생성할 수 있습니다.

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

 

 

CentOS 7 : Swap Space 추가 방법, 예제, 명령어

 

 

시작하기 전에 다음을 수행

이 튜토리얼을 진행하기 전에 CentOS 설치에 이미 스왑이 사용되도록 설정되었습니다.

sudo swapon --show

 

 

출력이 비어 있으면 시스템에 스왑 공간이 활성화되지 않았음을 의미합니다.

그렇지 않은 경우 아래와 같은 기능이 시스템에 이미 스왑이 설정되어 있습니다.

이름 유형 크기가 사용되었습니다.

NAME      TYPE      SIZE USED PRIO
/dev/dm-1 partition 1.5G   0B   -1

 

 

가능하더라도 단일 시스템에 여러 스왑 공간이 있는 것은 일반적이지 않습니다.

 

 

 

스왑 파일 생성

스왑을 활성화하려면 로그인된 사용자에게 sudo 권한이 있어야 합니다. 이 가이드에서는 1G 스왑을 추가하겠습니다. 스왑을 더 추가하려면 1G를 필요한 스왑 공간 크기로 바꾸십시오.

CentOS 7에 스왑 공간을 추가하려면 아래 단계를 따르십시오.

먼저 스왑 공간으로 사용할 파일을 생성합니다.

sudo fallocate -l 1G /swapfile

 

 

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

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

 

 

올바른 사용 권한을 설정하여 루트 사용자만 스왑 파일을 읽고 쓸 수 있는지 확인하십시오.

sudo chmod 600 /swapfile

 

 

그런 다음 파일에 Linux 스왑 영역을 설정합니다.

sudo mkswap /swapfile

 

 

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

sudo swapon /swapfile

 

 

/etc/fstab 파일을 열어 영구히 변경합니다.

sudo nano /etc/fstab

 

 

다음 줄을 붙여넣습니다.

# /etc/fstab

/swapfile swap swap defaults 0 0

 

 

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

# /etc/fstab

/swapfile swap swap defaults 0 0

 

 

이름 유형 크기가 사용되었습니다.

sudo swapon --show

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

 

sudo free -h

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

 

 

 

스왑 파일 값 조정

스왑은 시스템에서 스왑 공간을 사용하는 빈도를 정의하는 리눅스 커널 속성입니다. 스왑은 0에서 100 사이의 값을 가질 수 있습니다. 값이 낮으면 커널이 가능할 때마다 스와핑을 피하려고 시도하는 반면 값이 높을수록 커널은 스왑 공간을 보다 적극적으로 사용하게 됩니다. 

CentOS 7의 기본 스왑 값은 30입니다. 다음 명령을 입력하여 현재 스왑 값을 확인할 수 있습니다.

cat /proc/sys/vm/swappiness

# 30

 

 

데스크톱 및 개발 시스템의 경우 스왑 값 30은 괜찮지만, 프로덕션 서버의 경우 더 낮은 값을 설정해야 할 수도 있습니다.

예를 들어 스왑 파일 값을 10으로 설정하려면 다음을 입력합니다.

sudo sysctl vm.swappiness=10

 

 

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

# /etc/sysctl.conf

vm.swappiness=10

 

 

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

 

 

 

스왑 파일 제거

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

다음을 입력하여 스왑 공간을 비활성화합니다.

sudo swapoff -v /swapfile

 

 

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

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

sudo rm /swapfile

 

반응형