여러 스왑 파일의 목적은 무엇입니까


28

대부분의 리눅스 배포판을 설치하는 동안 하드 드라이브는 기본적으로 스왑 파티션을 포함하도록 파티션됩니다.

이 동작을 다음과 같이 변경할 수 있습니다 swapon -p priority

매뉴얼 페이지에 따르면 우선 순위는 다음과 같습니다.

PRIORITY
Each swap area has a priority, either high or low. The default priority is 
low. Within the low-priority areas, newer areas are even lower priority 
than older areas.
All priorities set with swapflags are high-priority, higher than default. 
They may have any non-negative value chosen by the caller. Higher numbers 
mean higher priority.

Swap pages are allocated from areas in priority order, highest priority 
first. For areas with different priorities, a higher-priority area is 
exhausted before using a lower-priority area. If two or more areas have the 
same priority, and it is the highest priority available, pages are 
allocated on a round-robin basis between them.

As of Linux 1.3.6, the kernel usually follows these rules, but there are 
exceptions

왜 하나 이상의 스왑 파일이 필요합니까?
시스템 관리자가 둘 이상의 스왑을 구성하는 것이 일반적입니까?

답변:


47

스핀들이 하나 뿐인 경우에도 여러 스왑 영역이 있어야하는 여러 가지 이유가 있습니다 (파일 일 필요는 없습니다).

20-20 후시 : 단일 스왑 영역이있는 머신을 배포 한 후에는 충분하지 않다는 것을 깨달았습니다. 머신을 마음대로 재배치 할 수는 없지만 파티션 레이아웃을 다시 실행하는 것이 옵션이 될 때까지 다른 스왑 영역 (아마 파일)을 만들 수 있습니다 .

스왑 영역 크기 조정 또는 이동 : Evan Teitelman이 언급 한대로 스왑 영역의 크기를 조정할 수 없습니다 . 그리고 충분한 RAM이 없다면 swapoff새로운 스왑 영역을 만들고 swapon다시 스왑 영역을 만들 수 없습니다. 스왑 영역 swapoff을 떠나기 전에 스왑 아웃 된 모든 페이지를 RAM으로 이동하려고합니다. 따라서 swapoff원본을 임시 스왑 영역으로 만들고 모든 페이지가 이전 스왑 영역에서 임시 스왑 영역으로 이동할 때까지 기다렸다가 원래 스왑 파티션 의 크기를 조정 한 mkswap다음 swapon크기를 조정 한 영역과 임시 영역으로 변경하십시오 swapoff. 교체 된 페이지가 임시 교체 영역에서 크기가 조정 된 페이지로 복사되고 완료됩니다. 스왑 영역을 이동하는 경우 임시 영역이 필요하지 않습니다. mkswap새로운 swapon것, 그때swapoff 오래된 것과 모든 것이 움직였습니다.

미친 빠른 스와핑 : 최신 디스크는 존 비트 레코딩을 사용 합니다. 디스크의 첫 번째 영역이 가장 빠릅니다. 디스크를 측정하고 드라이브의 첫 번째 가장 빠른 영역을 정확히 포함하는 파티션을 만들 수 있습니다. 의도 한 스왑 크기보다 작을 수 있습니다. 따라서 동일한 기술을 사용하여 여러 디스크에 여러 파티션을 추가합니다.

미친 빠른 스와핑, 속편 : 또는 디스크의 가장 빠른 영역이 어디인지 알게되면 첫 번째 영역에서 우선 순위가 높은 스왑 영역을 만들고 두 번째 영역에서 우선 순위가 낮은 스왑 영역 등을 만들 수 있습니다. 이런 방식으로 스와핑 시스템이 자동으로 인식합니다 모든 빠른 디스크 영역에 걸쳐로드 밸런싱을 수행하고, 더 빠른 영역을 선호하며, 필요할 때 더 느린 영역을 오버 플로우 영역으로 사용하십시오.

대칭로드 밸런싱 : 서버와 같이 많은 스핀들이있는 훌륭하게 구축 된 시스템에서 모든 디스크의 시작 부분을 차지하는 다중 스왑 파티션을 갖기를 원합니다 ( 영역 비트 기록 을 이용하기 위해 ). 이들은 모두 동일한 우선 순위를 가지므로 커널은 스왑을로드 밸런스합니다. 하나의 스핀들은 100MB / s를 제공 할 수 있지만 모든 스핀들을 스왑하면 그 배수를 얻을 수 있습니다. (순진하게 말하기)

병목 인식로드 밸런싱 : 실제로 다른 병목 현상이 있습니다. 예를 들어, 16 개의 디스크 서버에는 4 개의 6Gbps SATA 포트가 있으며 각각 4 개의 포트 승수와 4 개의 디스크가 대역폭을 공유합니다. 이에 대해 알고 있다면 스왑 공간을 구성하여 포트 1-4의 디스크 1이 가장 높은 우선 순위를 가지며 포트 1-4의 두 번째 디스크가 두 번째로 높은 우선 순위를 갖도록 할 수 있습니다. 이는 스왑로드 밸런스를 유지하지만 포트 승수.

다른 성능을 가진 여러 장치로 교체 : (누가 언급 한 바와 같이) 시스템이 새로운 서버가 아니고 수년 동안 유기적으로 성장한 경우 다른 장치보다 훨씬 빠른 블록 장치가있을 수 있습니다. 가장 빠른 장치로 먼저 바꾸고 다음으로 가장 빠른 장치로 바꾸고 싶을 것입니다.

크기 고려 사항 : ( David Kohen 제공 ) 모든 스왑을 하나의 드라이브에 배치하면 드라이브에 약간의 여유가 생길 수 있습니다 (2001 시나리오와 같지만 문제가 될 수있는 오래되거나 내장 된 장치가 많이 있습니다). 모든 드라이브에 걸쳐 분할하고 위의 다른 모든 이점 외에도 드라이브 당 디스크 공간 사용량을 향상시킵니다. 스핀들 당 몇 개의 기가 손실되고 한 디스크에서 300 기가 손실되는 것도 있습니다.

비상 사태 : 박사 학위 논문을 제출하는 데 정확히 96 시간이 걸리며, 마지막 실험 (노벨상과 이름 뒤 펑키 한 대소 문자를 비교할 수있는 실험)은 인상적인 속도로 기억을 빨고 있습니다. 거의 교체되지 않았습니다. 기본 스왑 장치의 우선 순위보다 낮은 우선 순위로 스왑 파일을 만듭니다. 커널은이 파일을 오버플로 스왑 공간으로 사용합니다. 이 작업을 자동으로 수행하기 위해 swapd 를 설치할 수도 있기 때문에 거대 emacs하고 LaTeX 실행을 위한 충분한 스왑 공간 이 있습니다.

다양한 미디어 스와핑 : Linux는 문자 장치로 교체 할 수 없지만 물리적 및 가상의 다양한 미디어가 있습니다. SSD (참고 : SSD로 교체하고 싶지 않은 경우), 수십 가지의 놀랍도록 다른 유형의 하드 회전 디스크, 플로피 (예, 플로피로 교체 할 수 있습니다. 유닉스를 사용하여 항상 자신을 촬영할 수 있습니다), DRBD 볼륨, iSCSI, LVM 볼륨, LUKS 암호화 파티션 등 IEEE802.3ad 통합 이더넷을 통한 iSCSI를 통한 병렬 포트 ZIP 드라이브의 LVM에서 LUKS를 교체 하시겠습니까? 이들은 틈새 시나리오이며 틈새 요구 사항을 지원하기위한 것입니다.


감사합니다. Zone bit 레코딩에 익숙하지 않습니다. 스왑 파티션을 플래터의 구걸로
옮길까

1
과거에는 하나의 디스크를 스왑 장치로 사용하면 너무 많은 공간을 사용하고 나머지 디스크를 쓸모 없거나 유용하지 않은 디스크로 만들면서 스왑 공간을 여러 장치로 분할함으로써 때때로 효과적이지 않은 역사적인 이유를 추가합니다. 큰 스왑 공간과 디스크에서 사용 가능한 연속 공간의 양 사이에 절충안을 제공했습니다.
Didi Kohen

여전히 그렇습니다. 또한 스왑이 디스크의 가장 빠른 영역을 차지하기를 원할 수도 있습니다. 스핀들 당 사용할 공간이 너무 많습니다. 존 HDD는 '새로운'것이기 때문에 역사적으로 그렇지 않았습니다. (내 버전의 '역사적'은 메모리가 단어로 측정 된 시점입니다)
Alexios

+1 "당신은 항상 유닉스와 함께 발로 자신을 쏠 수 있습니다":-)
DUzun

3

다중 속도 디스크 드라이브. 더 빠른 것을 먼저 사용하도록 설정 한 다음, 더 느린 것이 사용되도록 설정할 수 있습니다.


3

스왑 파일 (적어도 내가 아는 한)을 확장하거나 파티션이 사용 중일 때는 스왑 파일을 스왑 할 수 없습니다. 사용 가능한 스왑 영역을 가득 채울 때는 추가 스왑 파일을 만들어야 할 수도 있습니다.

또한 시스템에 4GB의 스왑 공간이 필요하고 2GB의 저장 장치가 2 개 이상인 경우 최소 2 개의 스왑 영역을 사용해야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.