기사 디렉토리
CentOS에서 가상 메모리 스왑 파일 및 파티션을 수동으로 추가/삭제하는 방법은 무엇입니까 ?
스왑 파티션이란 무엇일까요? SWAP은 스왑 공간의 약자입니다. 스왑 공간은 리눅스 시스템 의 물리적 메모리가 부족할 때 실행 중인 소프트웨어 프로그램이 사용할 수 있도록 일부 물리적 메모리를 확보하는 역할을 합니다.
스왑 파티션에 Swap을 사용할 때의 이점
SWAP 최적화 설정의 조정은 웹 서버의 성능 적용을 위해 매우 중요하며, 물리적 메모리가 부족한 경우 가상 메모리 SWAP 파티션 설정을 사용하여 LINUX 시스템 업그레이드 비용을 효과적으로 절감할 수 있습니다.
스왑 파티션의 크기는 얼마여야 합니까?
SWAP 스왑 파티션의 크기는 실제 시스템 메모리와 사용된 소프트웨어의 크기에 따라 결정됩니다.
CentOS 및 RHEL6에 대한 제안 사항은 다음과 같습니다.특정 상황에 따라 적절한 최적화 조정을 수행하십시오.
- 4GB RAM에는 최소 2GB의 스왑 공간이 필요합니다.
- 4GB ~ 16GB RAM에는 최소 4GB의 스왑 공간이 필요합니다.
- 16GB ~ 64GB RAM에는 최소 8GB의 스왑 공간이 필요합니다.
- 64GB ~ 256GB RAM에는 최소 16GB의 스왑 공간이 필요합니다.
현재 메모리 및 스왑 공간 크기 보기(기본 단위는 k, -m 단위는 M):
free -m
표시되는 결과는 다음과 같습니다(예시).
사용된 총 사용 가능한 공유 버퍼 캐시
메모: 498 347 151 0 101 137
-/+ 버퍼/캐시: 108 390
스왑: 0 0 0
Swap이 0이면 아니오를 의미하며 수동으로 SWAP 스왑 파티션을 추가해야 합니다.
(참고: OPENVZ 아키텍처가 있는 VPS는 SWAP 스왑 파티션을 수동으로 추가하는 것을 지원하지 않습니다.)
SWAP 스왑 공간을 추가하는 방법에는 두 가지가 있습니다.
- 1. 스왑 스왑 파티션을 추가합니다.
- 2. 스왑 스왑 파일을 추가합니다.
스왑 스왑 파티션 추가를 권장하며, 여유 공간이 많지 않은 경우 스왑 파일을 추가합니다.
SWAP 정보 보기(SWAP 스왑 파일 및 파티션 세부 정보 포함):
swapon -s
또는
cat /proc/swaps
(표시된 SWAP 값이 없으면 SWAP 공간이 추가되지 않은 것입니다)
다음은 SWAP 파일을 만드는 방법의 예입니다.
1. 1GB 스왑 생성
dd if=/dev/zero of=/home/swap bs=1k count=1024k
mkswap /swapfile
swapon /swapfile
echo "/home/swap swap swap default 0 0" | sudo tee -a /etc/fstab
sudo sysctl -w vm.swappiness=10
echo vm.swappiness = 10 | sudo tee -a /etc/sysctl.conf
2. 2GB 스왑 생성
dd if=/dev/zero of=/home/swap bs=1k count=2048k
mkswap /home/swap
swapon /home/swap
echo "/home/swap swap swap default 0 0" | sudo tee -a /etc/fstab
sudo sysctl -w vm.swappiness=10
echo vm.swappiness = 10 | sudo tee -a /etc/sysctl.conf
(끝)
다음은 추가 세부 참조입니다.
1. dd 명령을 사용하여 스왑 파일 생성
1G 메모리
dd if=/dev/zero of=/home/swap bs=1024 count=1024000
2G 메모리:
dd if=/dev/zero of=/home/swap bs=1k count=2048k
이런 식으로 /home/swap 파일이 생성되고 1024000의 크기는 1G, 2048k의 크기는 2G입니다.
2. 스왑 형식으로 파일을 만듭니다.
mkswap /home/swap
3. swapon 명령을 사용하여 파일 파티션을 스왑 파티션에 마운트합니다.
/sbin/swapon /home/swap
free -m 명령으로 살펴보고 이미 스왑 파일이 있는지 확인합니다.
free -m
그러나 시스템을 다시 시작한 후 스왑 파일은 다시 0이 됩니다.
4. 다시 시작한 후 스왑 파일이 0이 되는 것을 방지하기 위해 /etc/fstab 파일을 수정합니다.
/etc/fstab 파일의 끝(마지막 줄)에 다음을 추가합니다.
/home/swap swap swap default 0 0
(따라서 시스템을 다시 시작해도 스왑 파일은 여전히 가치가 있습니다)
또는 다음 명령을 직접 사용하여 자동 마운트 다시 시작 구성 명령을 추가합니다.
echo "/home/swap swap swap default 0 0
" | sudo tee -a /etc/fstab
VPS는 어떤 상황에서 SWAP 교환 공간을 사용합니까?
SWAP 스왑 공간을 사용하기 전에 모든 물리적 메모리가 소모된 후가 아니라 swappiness의 매개변수 값에 의해 결정됩니다.
[루트@ ~]#cat /proc/sys/vm/swappiness60
(이 값의 기본값은 60입니다)
- swappiness=0은 물리적 메모리의 최대 사용을 의미하고 SWAP 교환을 위한 공간을 의미합니다.
- swappiness=100은 스왑 공간이 활발히 사용되고 있으며 메모리의 데이터가 적시에 스왑 공간으로 전송되었음을 나타냅니다.
swappiness 매개변수를 설정하는 방법은 무엇입니까?
임시 수정:
[루트@ ~]#sysctl vm.swappiness=10VM.swappiness = 10
[루트@ ~]#
cat /proc/sys/vm/swappiness10
(이 임시 수정 사항은 적용되었지만 시스템을 다시 시작하면 기본값인 60으로 돌아갑니다.)
영구 수정:
/etc/sysctl.conf 파일에 다음 매개변수를 추가합니다.
vm.swappiness=10
(저장, 재시작 후 적용)
또는 직접 명령을 입력하십시오:
echo vm.swappiness = 10 | sudo tee -a /etc/sysctl.conf
SWAP 스왑 파일 삭제
1. 먼저 스왑 파티션을 중지하십시오
/sbin/swapoff /home/swap
2. 스왑 파티션 파일 삭제
rm -rf /home/swap
3. 자동 마운트 구성 명령 삭제
vi /etc/fstab
이 줄을 제거하십시오.
/home/swap swap swap default 0 0
(이렇게 하면 수동으로 추가한 스왑 파일이 삭제됩니다)
참고 :
- 1. 루트 사용자만 스왑 작업을 추가하거나 삭제할 수 있습니다.
- 2. VPS 시스템 설치 시 할당된 스왑 파티션을 삭제할 수 없는 것 같습니다.
- 3. 스왑 파티션은 일반적으로 메모리 크기의 두 배입니다.
Chen Weiliang의 블로그( https://www.chenweiliang.com/ ) 에 공유된 "CentOS에서 가상 메모리 SWAP 파일 및 파티션을 수동으로 추가/삭제하는 방법"이라는 글이 도움이 되기를 바랍니다.
이 기사 링크( https://www.chenweiliang.com/cwl-158.html )를 자유롭게 공유해 주세요.
