Scroll to navigation

SWAPON(8) Administracja systemem 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.

-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 swap. Listę dostępnych kolumn można znaleźć w wyjściu opcji --help.

--output-all

Wypisuje wszystkie dostępne kolumny.

--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.

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 systemie śledzenia błędów <https://github.com/util-linux/util-linux/issues>.

DOSTĘPNOŚĆ

Polecenie swapon jest częścią pakietu util-linux, który można pobrać ze strony Archiwum jądra Linux <https://www.kernel.org/pub/linux/utils/util-linux/>.

2025-03-19 util-linux 2.41