Jaki jest cel wielu plików wymiany

28

Podczas instalacji większości (jeśli nie wszystkich) dystrybucji Linuksa dysk twardy jest domyślnie dzielony na partycje.

Można zmienić to zachowanie za pomocą swapon -p priority

Według stron podręcznika priorytetem jest:

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

Dlaczego miałbyś kiedykolwiek potrzebować więcej niż jednego pliku wymiany?
Czy administratorzy systemu często stosują konfigurację więcej niż jednej wymiany?

spuder
źródło

Odpowiedzi:

47

Jest tak wiele powodów, aby mieć wiele obszarów wymiany (nie muszą to być pliki), nawet jeśli masz tylko jedno wrzeciono.

20–20 z perspektywy czasu: wdrożyłeś maszynę z jednym obszarem wymiany, a potem w końcu zdałeś sobie sprawę, że to nie wystarczy. Nie można przesunięcie maszyny do woli, ale może dokonać innego obszaru wymiany (prawdopodobnie plik) do czasu ponownego wykonania układ partycji stanie się opcją.

Zmiana rozmiaru lub przenoszenie obszarów wymiany: Nie można zmienić rozmiaru obszarów wymiany (jak wspomniał Evan Teitelman ). I nie możesz po prostu swapoffutworzyć nowego obszaru wymiany, a następnie swaponponownie, chyba że masz wystarczającą ilość pamięci RAM: swapoffchce przenieść wszystkie zamienione strony do pamięci RAM przed zwolnieniem obszaru wymiany. Tak więc tworzysz tymczasowy obszar wymiany, swapofforyginał, poczekaj, aż wszystkie strony zostaną przeniesione ze starego obszaru wymiany do tymczasowego, zmień rozmiar oryginalnej partycji wymiany mkswap, następnie swaponzmienionej i swapofftymczasowej. Zamienione strony są kopiowane z tymczasowego obszaru wymiany do strony o zmienionym rozmiarze i gotowe. Jeśli przenosisz obszary wymiany, nie potrzebujesz nawet obszaru tymczasowego. mkswapten nowy, swaponto, po czymswapoff stary i wszystko się poruszyło.

Szalona szybka wymiana: nowoczesne dyski wykorzystują nagrywanie bitów strefowych . Pierwsza strefa dysku jest najszybsza. Możesz zmierzyć dysk i utworzyć partycję obejmującą dokładnie pierwszą, najszybszą strefę napędu. Może to być mniej niż zamierzony rozmiar zamiany. Więc dodajesz wiele partycji na kilku dyskach, używając tej samej techniki.

Szalona szybka wymiana, kontynuacja: alternatywnie, gdy wiesz, gdzie znajdują się najszybsze strefy dysków, możesz tworzyć obszary wymiany o wysokim priorytecie w pierwszej strefie, obszary wymiany o niższym priorytecie w drugiej strefie itp. W ten sposób Twój system wymiany automatycznie wie aby załadować równowagę we wszystkich szybkich strefach dyskowych, preferuj strefy szybsze i użyj wolniejszych stref jako obszaru przepełnienia, gdy zajdzie taka potrzeba.

Symetryczne równoważenie obciążenia: w ładnie zbudowanym systemie z wieloma wrzecionami (jak serwer) lubię mieć wiele partycji wymiany zajmujących początek każdego dysku (aby skorzystać z zapisu bitowego strefy ). Wszystkie mają identyczne priorytety, więc jądro wyrówna ładunek wymiany. Jedno wrzeciono może dać ci 100 MB / s, ale zamiana we wszystkich wrzecionach może dać ci ich wielokrotność. (naiwnie mówiąc)

Równoważenie obciążenia z uwzględnieniem wąskich gardeł: w praktyce istnieją jednak inne wąskie gardła. Na przykład 16-dyskowy serwer może mieć cztery porty SATA 6 Gb / s, każdy z czteroportowym multiplikatorem i czterema dyskami dzielącymi szerokość pasma. Jeśli wiesz o tym, możesz uporządkować przestrzenie wymiany, aby Dysk 1 na portach 1–4 miał najwyższy priorytet, drugie dyski na portach 1–4 miały drugi najwyższy priorytet itp. Spowoduje to zamianę salda wymiany, ale nie przytłoczy mnożniki portów.

Zamiana między urządzeniami o różnej wydajności: (jak wspomniał Luke), jeśli twój system nie jest nowym serwerem i rozwijał się organicznie z biegiem lat, może mieć urządzenia blokowe, które są znacznie szybsze niż inne. Najpierw będziesz chciał zamienić na najszybsze urządzenie, a potem na następne najszybsze itp.

Uwagi dotyczące rozmiaru: (dzięki uprzejmości Davida Kohena ) być może umieszczenie całej wymiany na jednym dysku pozostawia kilka wolnych koncertów na dysku (brzmi to jak scenariusz z 2001 roku, ale istnieje wiele starych lub wbudowanych urządzeń, w których może to być problem). Podziel go na wszystkie dyski, a oprócz wszystkich innych powyższych korzyści, uzyskasz lepsze wykorzystanie miejsca na dysku na dysk. Jedną rzeczą jest utrata kilku koncertów na wrzeciono, a drugą utratę 300 koncertów z jednego dysku.

Nagłe wypadki: masz dokładnie 96 godzin na przesłanie rozprawy doktorskiej, a twój ostatni eksperyment (ten, który prawdopodobnie zapewni ci nagrodę Nobla, a także funkowe litery wieloznaczne po twoim nazwisku) wysysa pamięć w imponującym tempie. Już prawie nie masz zamiany. Tworzysz plik wymiany z priorytetem mniejszym niż priorytet głównego urządzenia wymiany - jądro użyje go jako przestrzeni wymiany przelewu. Możesz nawet zainstalować swapd, aby zrobić to automatycznie, dzięki czemu będziesz mieć dużo miejsca na zamianę dla tych wielkich emacsuruchomień i LaTeXa.

Zamiana na różne media: Linux nie może zamienić się na urządzenia postaci, ale istnieje wiele różnych mediów, fizycznych i wirtualnych: dyski SSD (uwaga: prawdopodobnie nie chcesz zamieniać dysków SSD), dziesiątki szokująco różnych rodzajów wirowania dyski, dyskietki (tak, możesz zamienić dyskietkę - zawsze możesz strzelać sobie w stopę z Uniksem), woluminy DRBD, woluminy iSCSI, LVM, partycje szyfrowane LUKS itp. (w tym surrealistyczne, zadziwiające warstwowe kombinacje tych - zamienić LUKS na LVM na równoległym napędzie ZIP przez iSCSI przez IEEE802.3ad zagregowany Ethernet? Nie ma problemu, ty brudny zboczeńcu). Są to scenariusze niszowe i mają na celu wsparcie wymagań niszowych.

Alexios
źródło
Dzięki, nie jestem zaznajomiony z nagrywaniem bitów Zone. Jestem ciekawy, że przeniosłem partycję wymiany na
początek
1
Dodałbym historyczny powód, że w przeszłości używanie jednego dysku jako urządzenia wymiennego było czasami nieskuteczne, ponieważ zajmowało zbyt dużo miejsca i powodowało, że reszta dysku była bezużyteczna lub mniej użyteczna, i dzieliła przestrzeń wymiany na wiele urządzeń zapewnił kompromis między dużą przestrzenią wymiany a ilością dostępnego ciągłego miejsca na dysku.
Didi Kohen
Nadal tak jest. Możesz także chcieć, aby zamiana zajęła najszybszą strefę dysku i tylko to. Co daje tylko tyle miejsca do zabawy na wrzeciono. Chociaż historycznie tak nie było, ponieważ strefowe dyski twarde to „nowa” rzecz. (moja wersja „historyczna” jest, gdy pamięć była mierzona słowami)
Alexios
+1 za „zawsze możesz strzelić sobie w Unixa” :-)
DUzun
3

Napędy dysków o wielu prędkościach. Możesz skonfigurować ten, który będzie używany jako pierwszy, a następnie wolniejszy, jeśli ten się nie powiedzie.

Luke
źródło
3

Nie możesz rozwijać plików wymiany (przynajmniej, o ile mi wiadomo) ani zamiany partycji podczas ich używania. Jeśli jesteś bliski wypełnienia dostępnego obszaru wymiany, być może będziesz musiał utworzyć dodatkowe pliki wymiany.

Ponadto, jeśli system potrzebuje 4 GB przestrzeni wymiany i ma dwie jednostki pamięci 2 GB, musi użyć co najmniej dwóch obszarów wymiany.


źródło