SWAPON(8)

BEZEICHNUNG
swapon, swapoff - Geräte und Dateien für Paging und Auslagerung aktivieren oder deaktivieren

ÜBERSICHT

swapon [Optionen] [Spezialdatei...]

swapoff [-va] [Spezialdatei...]

BESCHREIBUNG

Mit swapon können Sie Geräte angeben, die für Paging und Auslagerung genutzt werden sollen.

Das zu verwendende Gerät oder die zu verwendende Datei wird über das Argument Spezialdatei angegeben. Es kann in der Form -L Bezeichnung oder -U UUID vorliegen, um das Gerät anhand der Bezeichnung oder UUID anzugeben.

swapon-Aufrufe werden normalerweise in den Startskripten des Systems ausgeführt, um alle Auslagerungsgeräte verfügbar zu machen, so dass die Paging- und Auslagerungsaktivitäten zwischen verschiedenen Geräten und Dateien untereinander verschachtelt werden.

swapoff deaktiviert die Auslagerung auf den angegebenen Geräten und Dateien. Wenn der Schalter -a angegeben wird, wird die Auslagerung auf allen bekannten Auslagerungsgeräten und -dateien (die in /proc/swaps oder /etc/fstab gefunden werden) deaktiviert.

OPTIONEN

-a, --all
    Alle in der Datei /etc/fstab mit »swap« markierten Geräte werden verfügbar gemacht, außer jenen mit der Option »noauto«. Geräte, die bereits für die Auslaqerung in Verwendung sind, werden stillschweigend übersprungen. Im Abschnitt FSTAB-KONFIGURATION finden Sie weitere Details.

-T, --fstab Pfad
    gibt eine alternative fstab-Datei zwecks Kompatibilität mit mount(8) an. Falls der Pfad ein Verzeichnis ist, dann werden die darin enthaltenen Dateien von strverscmp(3) sortiert; Dateien, die mit ».« beginnen oder keine .fstab-Endung haben, werden ignoriert. Diese Option kann mehr als einmal angegeben werden. Sie ist hauptsächlich für Initramfs- oder Chroot-Skripte gedacht, in denen zusätzliche Konfiguration angegeben wird, die über die Standardsystemkonfiguration hinausgeht.

-d, --discard[=Regel]
    aktiviert Auslagerungs-Verwerfungen, falls das zugrundeliegende Auslagerungsgerät die Verwerfungs- oder Kürzungsaktionen (»discard« bzw. »trim«) unterstützt. Dies könnte die Performance auf SSD-Geräten verbessern, was aber oft nicht der Fall ist. Mit der Option können Sie zwischen zwei verfügbaren Auslagerungs-Verwerfungsregeln wählen:

    --discard=once
        zum Ausführen einer einmaligen Verwerfungsaktion für den gesamten Auslagerungsbereich bei dessen Aktivierung; oder

    --discard=pages
        zum asynchronen Verwerfen freigestellter Auslagerungsseiten, bevor diese zur erneuten Nutzung verfügbar gemacht werden.

    Wenn keine Regel ausgewählt ist, werden standardmäßig beide Verwerfungstypen aktiviert. Die Einhängeoptionen discard, discard=once oder discard=pages in der Datei /etc/fstab könnten ebenfalls zum Aktivieren der Verwerfungsschalter verwendet werden.

-e, --ifexists
    überspringt nicht vorhandene Geräte stillschweigend. Sie können auch die Einhängeoption nofail in /etc/fstab verwenden, um nicht vorhandene Geräte zu überspringen.

-f, --fixpgsz
    initialisiert den Auslagerungsbereich neu (mittels mkswap), falls die Seitengröße nicht der des aktuellen Kernels entspricht. mkswap(8) initialisiert das gesamte Gerät und prüft nicht auf defekte Blöcke.

-L Bezeichnung
    verwendet die Partition mit der angegebenen Bezeichnung (dafür ist Zugriff auf /proc/partitions erforderlich).

-o, --options Optionen
    gibt die Auslagerungsoptionen durch eine fstab-kompatible, durch Kommata getrennte Zeichenkette an. Zum Beispiel:

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

    Die Zeichenkette Optionen wird zuletzt ausgewertet und setzt alle Befehlszeilenoptionen außer Kraft.

-p, --priority Priorität
    legt die Priorität des Auslagerungsgerätes fest. Die Priorität ist ein Wert zwischen 0 und 32767. Ein höherer Wert bedeutet eine höhere Priorität. Siehe swapon(2) für eine vollständige Beschreibung der Auslagerungsprioritäten. Fügen Sie pri=Wert zum Optionsfeld in der Datei /etc/fstab hinzu, um diesen Wert mit swapon -a zu verwenden. Wenn keine Priorität angegeben ist, verwendet der Linux-Kernel standardmäßig negative Zahlen.

-s, --summary
    zeigt eine Zusammenfassung der Nutzung der Auslagerung nach Gerät an. Dies ist gleichbedeutend mit cat /proc/swaps. Dieses Ausgabeformat ist VERALTET. Sie sollten stattdessen --show verwenden, das Ihnen eine bessere Kontrolle über die Ausgabedaten ermöglicht.

--show[=Spalte...]
    zeigt eine definierbare Tabelle der Auslagerungsbereiche an. Siehe die Ausgabe mit --help für eine Liste der verfügbaren Spalten.

--output-all
    gibt alle verfügbaren Spalten aus.

--annotate[=wann]
    fügt zu jedem Spaltenkopf eine Anmerkung hinzu. Diese Anmerkung kann von Terminals, die diese Funktion unterstützen, als Minihilfe angezeigt werden. Das optionale Argument when kann always, never oder auto sein. Wird das Argument weggelassen, wird standardmäßig auto verwendet, d.h. Anmerkungen werden nur dann verwendet, wenn die Ausgabe an ein Terminal gesendet wird.

--noheadings
    zeigt mit --show keine Überschriften an.

--raw
    führt mit --show keine Ausrichtung der Tabellenspalten durch.

--bytes
    zeigt in der Ausgabe von --show die Auslagerungsgröße in Byte anstelle von benutzerfreundlichen Einheiten an.

-U UUID
    verwendet die Partition mit der angegebenen UUID.

-v, --verbose
    aktiviert den ausführlichen Modus.

-h, --help
    zeigt einen Hilfetext an und beendet das Programm.

-V, --version
    zeigt Versionsinformationen an und beendet das Programm.

FSTAB-KONFIGURATION

Der Befehl swapon --all liest die Konfiguration aus /etc/fstab (oder aus einer Datei, die mit der Befehlszeilenoption --fstab angegeben wurde). Relevant sind nur fstab-Einträge, deren Dateisystemtyp (drittes Feld) auf »swap« gesetzt ist.

Die Option --options akzeptiert Werte in der gleichen Form, wie sie im vierten Feld der fstab-Datei angegeben werden können.

  Das erste Feld (Quelle)

gibt die Auslagerungsquelle an. Handelt es sich bei der Quelle um eine reguläre Datei, wird diese über einen absoluten Pfad adressiert.

Wenn es sich bei der Auslagerung um ein blockorientiertes Gerät handelt, kann sie über den Gerätepfad, die Auslagerungsbereichs-Tags LABEL= oder UUID= (siehe mkswap(8) für weitere Details) oder über Partitions-Tags wie PARTLABEL= oder PARTUUID= adressiert werden.

  Das zweite Feld (Ziel)

Wird von swapon nicht verwendet; die empfohlene Konvention ist die Verwendung von »none«.

  Das dritte Feld (Typ)

Erfordert »swap« als Dateisystemtyp.

  Das vierte Feld (Optionen)

Es ist als kommagetrennte Liste von Optionen formatiert. Alle unbekannten Optionen werden stillschweigend ignoriert. Falls keine Optionen benötigt werden, empfiehlt sich die Verwendung von „defaults“. Die in fstab angegebenen Optionen erweitern die in der swapon-Befehlszeile angegebenen Einstellungen oder setzen sie außer Kraft.

Die folgenden Auslagerungsoptionen werden unterstützt:

noauto
    Ignoriert den Eintrag, wenn swapon --all angegeben ist.

nofail
    meldet keine Fehler für dieses Gerät, wenn es nicht existiert.

discard[=Regel]
    Aktiviert das Verwerfen von Auslagerungen. Unterstützte Einstellungen sind discard, discard=once oder discard=pages. Weitere Informationen finden Sie in der Beschreibung der Befehlszeilenoption --discard.

pri=Priorität
    legt die Priorität des Auslagerungsgeräts fest. Weitere Informationen finden Sie in der Beschreibung der Befehlszeilenoption --priority.

  Das fünfte Feld

Wird von swapon nicht verwendet; die empfohlene Konvention ist, es leer zu lassen.

  Das sechste Feld

Wird von swapon nicht verwendet; die empfohlene Konvention ist, es leer zu lassen.

EXIT-STATUS

Seit Version 2.36 hat swapoff die folgenden Exit-Status-Werte:

0
    Erfolg

2
    Es ist nicht genügend Systemspeicher verfügbar, um die Auslagerung zu beenden (OOM).

4
    Der Systemaufruf swapoff(2) schlug aus einem anderen Grund fehl.

8
    Nicht auf dem Systemaufruf swapoff(2) basierender Systemfehler (Speicher ausgeschöpft, …).

16
    Aufruf- oder Syntaxfehler

32
    Alle swapoff(2)-Systemaufrufe sind beim Aufruf mit --all fehlgeschlagen.

64
    Einige swapoff(2)-Systemaufrufe waren beim Aufruf mit --all erfolgreich.

Der Befehl swapoff --all gibt 0 zurück (alles erfolgreich), 32 (alles fehlgeschlagen) oder 64 (teilweise erfolgreich, teilweise fehlgeschlagen).

+ Für die alten Versionen vor Version 2.36 war kein Exit-Status dokumentiert; 0 bedeutet Erfolg in allen Versionen.

UMGEBUNGSVARIABLEN

LIBMOUNT_DEBUG=all
    aktiviert die Fehlersuchausgabe für libmount.

LIBBLKID_DEBUG=all
    aktiviert die Fehlersuch-Ausgabe von libblkid

DATEIEN

/dev/sd??
    Standard-Paging-Geräte

/etc/fstab
    ASCII-Beschreibungstabelle der Dateisysteme

ANMERKUNGEN

  Dateien mit Löchern

Die Implementierung der Auslagerungsdatei im Kernel erwartet, dass ohne Hilfe des Dateisystems direkt in die Datei geschrieben werden kann. Dies ist bei Dateien mit Löchern oder auf Copy-On-Write-Dateisystemen wie btrfs ein Problem.

Befehle wie cp(1) oder truncate(1) erstellen Dateien mit Löchern. Solche Dateien werden von swapon abgewiesen.

Von fallocate(1) erstellte vorzugewiesene Dateien könnten, abhängig vom Dateisystem, auch als Dateien mit Löchern interpretiert werden. Vorzugewiesene Auslagerungsdateien werden von XFS auf Linux seit Kernel 4.18 unterstützt.

Die am besten portable Lösung zur Erstellung einer Auslagerungsdatei ist die Verwendung von dd(1) und /dev/zero.

  Btrfs

Auslagerungsdateien auf Btrfs-Dateisystemen werden für Dateien mit dem Attribut nocow seit Linux 5.0 unterstützt. In der Handbuchseite zu btrfs(5) finden Sie weitere Details.

Seit Version 2.41 kann der Befehl mkswap --file eine neue Auslagerungsdatei mit dem Attribut nocow anlegen.

  NFS

Auslagerung über NFS funktioniert möglicherweise nicht.

  Suspendierung

swapon erkennt die Signatur eines Auslagerungsbereichs mit alten Suspend-Daten (zum Beispiel S1SUSPEND, S2SUSPEND, …) automatisch und schreibt diese neu. Das Problem ist, dass wenn dies nicht getan würde, dann würden beim nächsten Versuch des Aufwachens Daten beschädigt.

GESCHICHTE

Der Befehl swapon erschien in 4.0BSD.

SIEHE AUCH

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

FEHLER MELDEN

Nutzen Sie zum Melden von Fehlern das

VERFÜGBARKEIT

Der Befehl swapon ist Teil des Pakets util-linux, welches aus dem heruntergeladen werden kann.