SWAPON(8)

NAZWA
swapon, swapoff - włącza/wyłącza urządzenia oraz pliki stronicowania i wymiany

SKŁADNIA

swapon [opcje] [plik-specjalny...]

swapoff [-va] [plik-specjalny...]

OPIS

Polecenie swapon jest używane do określania urządzeń do stronicowania i wymiany.

Urządzenie lub plik może być podany za pomocą parametru plik-specjalny. Może mieć on postać -L etykieta lub -U uuid, aby określić urządzenie za pomocą etykiety lub uuid (unikatowego identyfikatora).

Odwołanie do swapon normalnie powinno się pojawiać w systemowych skryptach rozruchowych, udostępniając wszystkie urządzenia wymiany, dzięki czemu stronicowanie i wymiana jest rozłożone między wiele urządzeń i plików.

Polecenie swapoff wyłącza wymianę na podanych urządzeniach i plikach. Jeśli użyto opcji -a, to swap jest wyłączany na wszystkich znanych urządzeniach i plikach wymiany (zgodnie z plikiem /proc/swaps lub /etc/fstab).

OPCJE

-a, --all
    Udostępnia wszystkie urządzenia oznaczone jako "swap" w pliku /etc/fstab, z wyjątkiem plików z opcją "noauto". Urządzenia, które są już używane jako swap, są po cichu pomijane. Więcej szczegółów w rozdziale KONFIGURACJA FSTAB.

-T, --fstab ścieżka
    Określa alternatywny plik fstab, dla zachowania kompatybilności z mount(8). Jeśli ścieżka jest katalogiem, to pliki w katalogu są sortowane za pomocą strverscmp(3); pliki zaczynające się od "." lub nieposiadające rozszerzenia .fstab są ignorowane. Można podać tę opcję więcej niż jeden raz. Jest ona właściwie przeznaczona dla skryptów chroot i initramfs, gdy podawana jest dodatkowa konfiguracja poza standardową konfiguracją systemu.

-d, --discard[=tryb]
    Włącza odrzucanie (discard), jeśli powiązane urządzenie wymiany pozwala na operacje discard lub trim. Może to pozytywnie wpłynąć na wydajność na niektórych dyskach półprzewodnikowych (SSD), ale często tak nie jest. Opcja pozwala na wybór spośród dwóch dostępnych trybów odrzucania:

    --discard=once
        do przeprowadzania pojedynczych operacji odrzucania całej przestrzeni wymiany lub

    --discard=pages
        do asynchronicznego odrzucania zwolnionych stron wymiany przed udostępnieniem ich do ponownego użycia.

    Jeśli nie wybierze się żadnego z tych trybów, to domyślnym zachowaniem jest włączenie ich obu. Można również włączyć odrzucanie w /etc/fstab za pomocą opcji montowania discard, discard=once lub discard=pages.

-e, --ifexists
    Pomija po cichu nieistniejące urządzenia. Opcja montowania nofail w /etc/fstab może również posłużyć do pomijania nieistniejących urządzeń.

-f, --fixpgsz
    Ponownie inicjuje przestrzeń wymiany (exec mkswap), jeśli rozmiar strony nie pasuje do rozmiaru podawanego przez obecnie uruchomione jądro. Polecenie mkswap(8) inicjuje całe urządzenie i nie sprawdza go pod kątem błędnych bloków.

-L etykieta
    Używa partycji z określoną etykietą (potrzebny jest w tym celu dostęp do /proc/partitions).

-o, --options opcje
    Podaje opcje swap jako listę, zgodną z formatem fstab, z przecinkiem jako separatorem. Na przykład:

    swapon -o pri=1,discard=pages,nofail /dev/sda2

    Łańcuch opts jest przetwarzany ostatni i przesłania wszystkie inne opcje wiersza poleceń.

-p, --priority priorytet
    Określa priorytet urządzenia wymiany. Priorytet jest wartością z przedziału pomiędzy 0 a 32767. Większa liczba oznacza wyższy priorytet. Podręcznik polecenia swapon(2) zawiera pełny opis priorytetów swap. Do pliku /etc/fstab można dodać opcję pri=wartość, która będzie używana ze swapon -a. Jeśli nie zdefiniowano priorytetu, to wartością domyślną jądra Linux będzie wartość ujemna.

-s, --summary
    Wyświetla podsumowanie użycia przestrzeni wymiany wg urządzenia. Jest to odpowiednik cat /proc/swaps. Ten format wyjścia jest PRZESTARZAŁY. Zalecany format --show umożliwia większą kontrolę nad danymi wyjściowymi.

--show[=kolumna...]
    Wyświetla możliwą do zdefiniowania tabelę obszarów wymiany. Listę dostępnych kolumn można znaleźć w wyjściu opcji --help.

--output-all
    Wypisuje wszystkie dostępne kolumny.

--annotate[=kiedy]
    Wypisuje adnotacje przy każdej nazwie nagłówka kolumny. Takie adnotacje mogą być pokazywane jako dymek na terminalach, które obsługują tę funkcję. Opcjonalny argument kiedy można ustawić na always (zawsze), never (nigdy) lub auto. Jeśli pominie się opcjonalny argument, to domyślnie przyjmuje wartość auto oznaczającą, że adnotacje będą używane tylko wtedy, gdy wyjściem jest terminal.

--noheadings
    Nie wyświetla nagłówków w wyjściu opcji --show.

--raw
    Nie wyrównuje kolumn tabeli wyświetlanej przez --show.

--bytes
    Opcja --show wyświetla rozmiar przestrzeni wymiany w bajtach, a nie w jednostkach czytelnych dla użytkownika.

-U uuid
    Używa partycji o określonym uuid (unikalnym identyfikatorze).

-v, --verbose
    Więcej szczegółów.

-h, --help
    Wyświetla ten tekst i wychodzi.

-V, --version
    Wyświetla wersję i wychodzi.

KONFIGURACJA FSTAB

Polecenie swapon --all odczytuje konfigurację z /etc/fstab (lub pliku podanego opcją wiersza poleceń --fstab). Istotne są tylko wpisy fstab z typem systemu plików (trzecim polem) ustawionym na "swap".

Opcja --options akceptuje wartości w takiej samej postaci, jaką można podać w czwartym polu pliku fstab.

  Pierwsze pole (źródło)

Określa źródło przestrzeni wymiany. Jeśli źródło jest zwykłym plikiem, podaje się je jako ścieżkę bezwzględną.

Jeśli przestrzeń wymiany jest urządzeniem blokowym, można je zaadresować ścieżką urządzenia, znacznikami przestrzeni wymiany LABEL= lub UUID= (więcej szczegółów w podręczniku mkswap(8)) lub znacznikami partycji, takimi jak PARTLABEL= lub PARTUUID=.

  Drugie pole (cel)

Nieużywane przez swapon, zaleca się wpisanie "none".

  Trzecie pole (typ)

Wymaga podania "swap" jako typu systemu plików.

  Czwarte pole (opcje)

Jest to lista opcji rozdzielona przecinkami. Wszystkie nieznane opcje są po cichu ignorowane. Jeśli opcje są niepotrzebne, zaleca się wpisanie "defaults". Opcje podane w fstab rozszerzają lub przesłaniają ustawienia określone w wierszu polecenia swapon.

Obsługiwane opcje przestrzeni wymiany:

noauto
    Ignoruje wpis, gdy poda się swapon --all.

nofail
    Nie informuje o błędach urządzenia, jeśli ono nie istnieje.

discard[=tryb]
    Włącza odrzucanie w przestrzeni wymiany. Obsługiwane są ustawienia: discard, discard=once lub discard=pages. Więcej szczegółów w opisie opcji wiersza poleceń --discard.

pri=priorytet
    Określa priorytet urządzenia wymiany. Więcej szczegółów w opisie opcji wiersza poleceń --priority.

  Piąte pole

Nieużywane przez swapon, zalecana się pozostawienie go pustego.

  Szóste pole

Nieużywane przez swapon, zalecana się pozostawienie go pustego.

STATUS ZAKOŃCZENIA

swapoff ma następujące wartości kodów zakończenia od wersji v2.36:

0
    sukces

2
    system ma zbyt mało pamięci aby zaprzestać używania przestrzeni wymiany (OOM)

4
    wywołanie systemowe swapoff(2) nie powiodło się z innych przyczyn

8
    błąd wywołania systemowego niezwiązany ze swapoff(2) (za mało pamięci itp.)

16
    błąd użycia lub składni

32
    wszystkie wywołania swapoff nie powiodły się (przy użyciu opcji --all)

64
    część wywołań swapoff powiodła się (przy użyciu opcji --all)

Polecenie swapoff --all zwraca 0 (wszystkie się powiodły), 32 (wszystkie nie powiodły się) lub 64 (część się powiodła, a część nie).

+ Wersje starsze niż v2.36 nie mają udokumentowanego statusu zakończenia, natomiast 0 oznacza sukces we wszystkich wersjach.

ŚRODOWISKO

LIBMOUNT_DEBUG=all
    włącza wyjście debugowania libmount.

LIBBLKID_DEBUG=all
    włącza wyjście debugowania libblkid.

PLIKI

/dev/sd??
    standardowe urządzenia stronicowania

/etc/fstab
    tablica opisująca systemy plików w ascii

UWAGI

  Pliki z dziurami

Implementacja pliku wymiany w jądrze spodziewa się możliwości bezpośrednich zapisów do pliku, to jest bez pośrednictwa systemu plików. Stanowi to problem na plikach z dziurami oraz na systemach plików copy-on-write (kopiuj przy zapisie), takich jak Btrfs.

Polecenia takie jak cp(1) lub truncate(1) tworzą pliki z dziurami. Zostaną one odrzucone przez swapon.

Prealokowane pliki tworzone przez fallocate(1) mogą być również interpretowane jako pliki z dziurami, w zależności od systemu plików. Prealokowane pliki wymiany są obsługiwane w systemie plików XFS od Linuksa 4.18.

Najbardziej przenośnym rozwiązaniem jest tworzenie plików wymiany za pomocą dd(1) i /dev/zero.

  Btrfs

Pliki wymiany w systemie plików Btrfs są obsługiwane od Linuksa 5.0 (pliki z atrybutem nocow). Strona podręcznika systemowego btrfs(5) zawiera więcej informacji na ten temat.

Od wersji 2.41, polecenie mkswap --file może tworzyć nowy plik wymiany z atrybutem nocow.

  NFS

Przestrzeń wymiany poprzez NFS może nie działać.

  Stan wstrzymania

Polecenie swapon automatycznie wykrywa i nadpisuje podpis przestrzeni wymiany ze starymi danymi wstrzymania (np. S1SUSPEND, S2SUSPEND, ...). Jest to konieczne, gdyż w przeciwnym wypadku nastąpiłoby uszkodzenie danych przy kolejnej próbie wybudzenia.

HISTORIA

Polecenie swapon pojawiło się w 4.0BSD.

ZOBACZ TAKŻE

swapoff(2), swapon(2), fstab(5), init(8), fallocate(1), mkswap(8), mount(8), rc(8)

ZGŁASZANIE BŁĘDÓW

Problemy należy zgłaszać w

DOSTĘPNOŚĆ

Polecenie swapon jest częścią pakietu util-linux, który można pobrać ze strony