
Linux 컴퓨터에 스왑 공간을 추가하거나 파티션을 망설이지 않고 이미 존재하는 스왑 공간을 늘리십시오. 스왑 공간을 쉽게 조정할 수있는 방법을 보여줍니다.
스왑 파일 및 스왑 파티션
Linux 컴퓨터에 기존 스왑 공간을 늘리거나 새 스왑 공간을 추가하려는 몇 가지 시나리오가 있습니다.
- 아마도 스왑 공간이 최대 또는 최대에 가깝게 실행되고있을 것입니다.
- 설치 과정에서 잘못된 옵션을 쉽게 클릭하고 실수로 시스템에 스왑을 추가하는 것을 거부 할 수 있습니다.
- 어쩌면 스왑이 필요없는 RAM (Random Access Memory)이 너무 많다고 결정하고 마음이 바뀌었을 수도 있습니다.
- 때때로 스왑이없는 시스템의 관리 권한을 상속 받게됩니다.
이 모든 것에 대한 간단한 해결책은 컴퓨터에 스왑 파일을 추가하는 것입니다. 이것은 스왑 공간으로 사용하기 위해 미리 할당되고 예약 된 특수 파일입니다. 스왑 파일은 스왑 파일이든 스왑 파티션이든 관계없이 기존 스왑과 함께 작동합니다.
한 번에 스왑 파티션과 비교하여 스왑 파일을 사용하면 성능이 저하되었습니다. 더 이상 기계식 (회전) 하드 드라이브의 성능이 개선되고 Linux 운영 체제 내 스왑 기능의 효율성이 향상되지 않습니다. 실제로 일부 Linux 배포판에서는 이제 기본적으로 스왑 파티션이 아닌 스왑 파일을 만듭니다.
스왑은 메모리가 부족할 때 RAM을 비우기위한 수단으로 사용되지 않습니다. 제대로 작동하는 시스템의 중요한 부분입니다. 스왑 없이는 제정신 메모리 관리가 커널에서 달성하기가 매우 어려워집니다. 스왑 공간을 추가하는 쉬운 방법을 살펴 보겠습니다.
우리가 뛰어 들기 전에 : Btrfs와 SSD
빠르게 논의하고 싶은 두 가지 사항이 있습니다.
Btrfs 파일 시스템에는 스왑 파일에 대한주의 사항이 있습니다. 한때는 Btrfs의 “기록 중 복사 (copy-on-write)”특성 사이에서 충돌이 있었으며, 이는 한 가지 방식으로 작동하고 다른 방식으로 작동하는 데 필요한 파일을 교환하고자했습니다. 스왑 파일이 의존하는 일부 기능은 구현되지 않았으며 스왑 파일 내의 블록 번호 매기기에 대한 일부 가정은 Btrfs에서 적용되지 않았습니다. 따라서 스왑 파일은 지원되지 않았습니다.
커널 5.0부터 다음 요구 사항으로 설정된 경우 Btrfs 파일 시스템에 스왑 파일을 가질 수 있습니다.
- NOCOW (Copy-On-Write) 파일이 없습니다.
- 압축되지 않았습니다.
- 그들은 다른 하드 드라이브를 걸지 않습니다.
대부분의 독자는 기본 ext4 파일 시스템을 사용하므로 걱정하지 않아도됩니다.
관련 : 어떤 Linux 파일 시스템을 사용해야합니까?
SSD (Solid-State Drive)를 처음 사용할 때 파일 시스템 쓰기가 빈번한 상황에서 사용하는 것에 대한 우려가있었습니다. 사람들은 SSD에 스왑 공간을 두거나 시스템이 SSD에 로깅되지 않도록 경고했습니다.
현재는 그다지 걱정하지 않으며, 판매되는 많은 SSD는 대부분의 PC보다 수명이 오래갑니다. SSD의 스왑 파일은 기계식 하드 드라이브의 스왑 파티션보다 성능이 훨씬 뛰어납니다.
관련 : 솔리드 스테이트 드라이브는 얼마나 오래 지속됩니까?
기존 스왑 공간 확인
도약하기 전에 살펴보십시오. 컴퓨터에서 사용 가능한 스왑 공간을 확인하십시오. 이 두 가지 방법을 사용할 수 있으며 두 가지 방법을 모두 사용합니다. 그만큼 free 명령은 사용 된 여유 메모리를 표시합니다. 그만큼 -h (사람이 읽을 수있는) 옵션으로 인해 free 메모리 값을 표시 할 때 감지 가능한 단위를 사용합니다.
free -h

의 출력 free 이 시스템에 구성된 스왑 공간이 없음을 나타냅니다.
스왑은 RAM과 사용 가능한 RAM이 없으면 논의되지 않습니다. 따라서 여유 RAM은 237MB로 제공됩니다. 사용 가능한 총 RAM이 있다고 오해하지 마십시오. 이 값은 “사용 가능한”숫자 (881MB)로 제공됩니다.
Linux는 파일 캐싱 및 커널 버퍼와 같은 자체 용도로 사용 가능한 RAM을 사용합니다. 전용 RAM의 양은 “버프 / 캐시”수치이며 871MB입니다. 그러나 그 기억은 여전히“사용 가능한”것으로 간주되고 계산됩니다. “buf / cache”RAM의 내용은 즉시 버리고 메모리가 필요한 응용 프로그램에서 사용할 수 있습니다.
스왑 공간이 사용 가능한지 확인하는 또 다른 방법은 swapon 명령. 그만큼 --show 옵션은 컴퓨터의 스왑을 변경하지 않습니다. 통계 만 제공합니다.
swapon --show

이 명령의 출력이 없으면 스왑이 구성되지 않은 것입니다.
이러한 명령에서 일부 스왑 공간이 이미 구성되어있는 경우 기존 스왑 공간의 크기는 만들려는 스왑 파일의 크기와 관련된 결정으로 고려해야합니다.
스왑 공간이 얼마나 필요합니까?
전통적인 응답은“당신이 가진 RAM의 두 배”였습니다. 그러나 이것은 컴퓨터가 매우 제한된 RAM을 가지고 있었을 때 만들어졌습니다. RAM이 저렴 해지고 메모리와 메모리를 많이 요구하는 프로그램과 게임이 PC 사양에 따라 조정되었습니다. 현재 32GB의 RAM이 장착 된 가정용 PC는 드문 일이 아닙니다. 그리고 RAM이 32GB라면 공간을 교체하기 위해 64GB의 하드 드라이브 공간을 할당하지 않을 것입니다. 그것은 과도합니다.
당신이 필요로하는 스왑의 양은 “최고의 편집자”와 비교할만한 소소한 주제입니다. 우리가이 주제에서 본 가장 현명한 토론 중 하나는 우분투 스왑 FAQ입니다. 짧고 상식적인 접근 방식입니다 (많은 사람들과 마찬가지로 Linux에서 swappiness가 어떻게 작동하는지 오해합니다). 시스템의 RAM 용량과 컴퓨터의 최대 절전 모드에 대한 권장 스왑 공간을 보여주는 편리한 표가 있습니다.
좋은 소식은 실제로 어떤 가치를 선택하든 상관 없습니다. 우리는 항상 스왑 파일을 제거하고 더 큰 스왑 파일로 대체 할 수 있습니다. 또는 다른 스왑 파일을 추가 할 수도 있습니다.
스왑 파일 크기를 테이블에서 선택하고 잠시 동안 실행하십시오. 시스템의 스왑 공간 사용을 모니터링하십시오. 미세 조정이 필요한 경우 쉽게 변경할 수 있습니다. 스왑 파일을 사용하면 2 분이 걸립니다. 실제 Linux 컴퓨터에서 파티션을 조정하는 것과 비교하십시오.
관련 : 리눅스에서 스와 파이는 무엇입니까? (및 변경 방법)
스왑 파일 만들기
당신은 사용해서는 안됩니다 fallocate 명령을 사용하여 스왑 파일을 만듭니다. 이 매뉴얼 페이지에서 swapon:
The swap file implementation in the kernel expects to be able to write to the file directly, without the assistance of the file system. This is a problem on files with holes or on copy-on-write files on file systems like Btrfs. Commands like cp(1) or truncate(1) create files with holes. These files will be rejected by swapon. Preallocated files created by fallocate(1) may be interpreted as files with holes too depending of the filesystem. Preallocated swap files are supported on XFS since Linux 4.18. The most portable solution to create a swap file is to use dd(1) and /dev/zero.
그래도 fallocate 더 빠릅니다. 사용하겠습니다 dd 스왑 파일을 만듭니다. 이 기사를 조사하는 데 사용되는 기계에는 2GB의 RAM이 있습니다. 1GB 스왑 파일을 만들겠습니다.
옵션은 다음과 같습니다.
-
만약: 입력 파일. 이 예에서는
/dev/zero이것은 0 바이트의 스트림을 제공합니다. -
의: 출력 파일. 우리는 루트 디렉토리에 파일을 만들 것입니다.
swapfile. - bs: 바이트 단위의 블록 크기. 한 번에 입력 파일에서 읽고 출력 파일에 쓸 바이트 수를 지정합니다.
-
카운트: 읽고 쓸 블록 수. 이 숫자에
bs파일 크기를 가져옵니다.
sudo dd if=/dev/zero of=/swapfile bs=1024 count=1048576

파일이 작성 될 때 일부 통계가 제공됩니다.

파일에 기록 된 블록 수 (레코드), 파일 크기, 파일 생성 시간 및 유효 데이터 전송률을 볼 수 있습니다.
사용 ls 루트 디렉토리에서 파일을 보려면 명령 :
ls /

스왑 파일 준비
스왑 파일을 mkswap 명령을 사용하기 전에. 매개 변수를 제공 할 필요가 없습니다 mkswap 파일의 경로와 이름 이외의 것 :
sudo mkswap /swapfile

파일은 스왑 파일로 사용할 준비가되었습니다. 파일 권한에 대한 경고를 참고하십시오. 우리는 루트 사용자가 스왑 파일을 읽고 쓸 수있는 유일한 사용자가되도록 변경해야합니다.
스왑 파일 사용
기본 권한은 너무 자유롭기 때문에 루트 만 스왑 파일을 사용할 수 있도록 제한해야합니다. 사용하다 chmod 파일 권한을 변경하려면
sudo chmod 600 /swapfile

이렇게하면 파일 그룹 구성원 및 기타 사용자로부터 모든 권한이 제거되지만 파일 소유자 root는 파일을 읽고 쓸 수 있습니다.
관련 : Linux에서 chmod 명령을 사용하는 방법
우리는 swapon 사용할 수있는 새로운 스왑 파일이 있음을 Linux에 알리는 명령입니다. 경로와 파일 이름 만 제공하면됩니다.
sudo swapon /swapfile

스왑 파일이 활성화되었습니다.
fstab에 스왑 파일 추가
재부팅 후 스왑 파일을 사용할 수있게하려면 스왑 파일을 /etc/fstab 파일. 원하는 텍스트 편집기를 사용할 수 있지만 그래픽 Gedit 텍스트 편집기를 사용하여 프로세스를 보여줍니다.
sudo gedit /etc/fstab

파일 맨 아래에 추가해야하는 줄은 다음과 같습니다.
/swapfile none swap sw 0 0

필드는 다음과 같습니다.
- 파일 시스템: 스왑 파일의 경로와 이름.
- 마운트 포인트: 파일이 파일 시스템처럼 마운트되지 않으므로 항목이 “없음”입니다.
- 유형: 이것은 “스왑”입니다.
-
옵션: 부팅시
swapon -a(스왑으로 표시된 모든 장치 시작)은 부팅 스크립트 중 하나에서 호출됩니다. 이 옵션은 Linux가이 항목을 제어 할 수있는 스왑 자원으로 처리하도록 지시합니다.swapon -a명령. 일부 Linux 사용자에게는이 필드가 무시된다는 잘못된 믿음이 있기 때문에 여기에 사용 된 “기본값”을 보는 것이 일반적입니다. 앞으로 살펴 보 겠지만, 그렇지 않습니다. 따라서 올바른 옵션을 사용하는 것이 좋습니다. - 덤프: 이것은 0으로 설정 될 수 있습니다. 이 경우에는 관련이 없습니다.
- 통과하다: 이것은 0으로 설정 될 수 있습니다. 이 경우에는 관련이 없습니다.
변경 사항을 저장하고 편집기를 닫으십시오.
관련 : Linux에서 fstab 파일을 작성하는 방법
스왑 사용량 확인
스왑 공간이 사용되고 있는지 확인하려면 swapon 와 명령 --show 선택권:
swapon --show

열은 다음과 같습니다.
- 이름: 스왑 파티션 또는 스왑 파일의 이름입니다.
- 유형: 스왑 장치의 유형입니다.
- 크기: 스왑 리소스의 크기입니다.
- 익숙한: 사용 된 스왑 공간의 양.
- 프리 오:이 스왑 공간의 우선 순위.
스왑 공간 우선 순위
각 스왑 공간에 우선 순위가 할당됩니다. 제공하지 않으면 자동으로 할당됩니다. 자동 할당 우선 순위는 항상 음수입니다. 수동으로 할당 할 수있는 우선 순위 범위는 0-32767입니다. 우선 순위가 높은 스왑 리소스가 먼저 사용됩니다.
둘 이상의 스왑 공간이 동일한 우선 순위를 가지면 둘 다 꽉 찰 때까지 교대로 사용되며 시스템은 다음으로 가장 낮은 우선 순위를 가진 스왑 공간을 찾습니다. 스왑 공간이 하나 뿐인 경우 우선 순위는 관련이 없습니다. 그러나 우리는 스왑 파일의 우선 순위를 변경하여 그 방법을 보여줄 것입니다.
우선 순위를 설정하려면 pri= 에 (우선 순위) 옵션 /etc/fstab 기입. 추가 한 줄 편집 /etc/fstab 이처럼
/swapfile none swap sw,pri=10 0 0
즉, 추가 pri=10 옵션 필드에 쉼표로 “sw”와 분리하십시오. “sw”, 쉼표 및 “pri = 10″사이에 공백을 두지 마십시오. 컴퓨터를 재부팅하고 swapon --show 명령:
swapon -- show

이 스왑 공간의 우선 순위는 10으로 높아졌습니다. 이는 옵션 필드의 옵션 필드가 /etc/fstab 입력은 무시되지 않습니다.
간편한 스왑 공간
설명과 설명을 통해 다음과 같이 쉽고 빠르게 새 스왑 파일을 만들 수 있습니다.
sudo dd if=/dev/zero /of=/swapfile2 bs=1024 count=104857
sudo mkswap /swapfile2
sudo chmod 600 /swapfile2
sudo swapon /swapfile2
그리고 그것이 작동하는지 확인합시다 :
swapon --show

영구히 떨어 뜨리고 싶다면 /etc/fstab 파일.
팔. 작업이 완료되었습니다.








