Provided by: manpages-de-dev_2.5-1_all 

BEZEICHNUNG
swapon, swapoff - Auslagerung von Hauptspeicherbereichen (Swapping) auf ein Gerät oder in eine Datei
starten/beenden
ÜBERSICHT
#include <unistd.h>
#include <sys/swap.h>
intswapon(constchar*pfad,intswap_schalter);
intswapoff(constchar*pfad);
BESCHREIBUNG
swapon weist den Auslagerungsbereich für Hauptspeicherbereiche der Datei oder dem blockorientierten Gerät
zu, das in pfad festgelegt wurde. swapoff beendet das Auslagern von Hauptspeicherbereichen in der Datei
oder dem blockorientierten Gerät, das in pfad festgelegt wurde.
Falls der Schalter SWAP_FLAG_PREFER im swapon()-Argument swap_schalter angegeben wurde, hat der neue
Auslagerungsbereich für Hauptspeicherbereiche eine höhere Priorität als der vorgegebene. Die Priorität
ist in swap_schalter kodiert als:
(prio << SWAP_FLAG_PRIO_SHIFT) & SWAP_FLAG_PRIO_MASK
Falls der Schalter SWAP_FLAG_DISCARD im swapon()-Argument swap_schalter angegeben wurde, werden
freigegebene Auslagerungsseiten für Hauptspeicherbereiche verworfen, bevor sie erneut benutzt werden,
falls das Gerät mit dem Auslagerungsbereich für Hauptspeicherbereiche die Aktionen zum Verwerfen oder
Kürzen (»discard« und »trim«) unterstützt. (Dies könnte die Leistung auf einigen Festspeichergeräten
(SSD) verbessern, was aber oft nicht der Fall ist.) Siehe auch die ANMERKUNGEN.
Diese Funktionen können nur von einem privilegierten Prozess (einem, der über die
CAP_SYS_ADMIN-Capability verfügt) benutzt werden.
Priorität
Jeder Auslagerungsbereich für Hauptspeicherbereiche hat eine Priorität, hoch oder niedrig. Die
Standardpriorität ist niedrig. Innerhalb der Bereiche niedriger Priorität erhalten neuere Bereiche eine
niedrigere Priorität als ältere.
Alle mit swap_schalter gesetzten Prioritäten sind hohe Prioritäten und höher als die Vorgabe. Sie können
einen beliebigen durch den Aufrufenden gewählten nicht-negativen Wert haben. Höhere Zahlen entsprechen
höheren Prioritäten.
Auslagerungsseiten von Hauptspeicherbereichen werden nach Priorität aus den Bereichen reserviert, die mit
der höchsten Priorität zuerst. Bei Bereichen unterschiedlicher Priorität werden die mit der höheren
Priorität zuerst ausgeschöpt, bevor Bereiche mit niedriger Priorität genutzt werden. Haben zwei oder mehr
Bereiche die gleiche Priorität und diese ist die höchste verfügbare, dann werden die Seiten reihum
nacheinander reserviert.
Ab Linux 1.3.6 befolgt der Kernel diese Regeln gewöhnlich, aber es gibt auch Ausnahmen.
RÜCKGABEWERT
Bei Erfolg wird Null zurückgegeben. Bei einem Fehler wird -1 zurückgegeben und errno entsprechend
gesetzt.
FEHLER
EBUSY (Für swapon()) Der angegebene pfad wird bereits als Auslagerungsbereich für Hauptspeicherbereiche
benutzt.
EINVAL Die Datei pfad existiert, bezieht sich aber weder auf eine normale Datei noch auf ein Blockgerät;
EINVAL (swapon()) Der angegebene Pfad enthält keine gültige Auslagerungssignatur oder befindet sich in
einem speicherinternen Dateisystem wie beispielsweise tmpfs(5).
EINVAL (seit Linux 3.4)
(swapon()) Ein unzulässiger Schalter wurde in flags angegeben.
EINVAL (swapoff()) pfad ist derzeit kein Auslagerungsbereich.
ENFILE Die systemweite Beschränkung für die Gesamtzahl offener Dateien wurde erreicht.
ENOENT Die Datei pfad existiert nicht.
ENOMEM Das System verfügt nicht über ausreichenden Speicher, um das Auslagern von Hauptspeicherbereichen
zu starten.
EPERM Der Aufrufende verfügt nicht über die Capability CAP_SYS_ADMIN. Alternativ wird die maximale
Anzahl der Auslagerungsdateien für Hauptspeicherbereiche benutzt; Lesen Sie die folgenden
ANMERKUNGEN.
KONFORM ZU
Diese Funktionen sind Linux-spezifisch und sollte nicht in Programmen benutzt werden, die portabel
gehalten werden sollen. Das zweite swap_schalter-Argument wurde mit Linux 1.3.2 eingeführt.
ANMERKUNGEN
Die Partition oder der Pfad müssen mit mkswap(8) vorbereitet werden.
Es gibt eine Obergrenze für die Anzahl der benutzbaren Auslagerungsdateien von Hauptspeicherbereichen,
die in der Kernel-Konstante MAX_SWAPFILES definiert wird. Vor Kernel 2.4.10 hatte MAX_SWAPFILES den Wert
8; seit Kernel 2.4.10 hat sie den Wert 32. Seit Kernel 2.6.18 ist die Grenze um zwei herabgesetzt (daher:
30) falls der Kernel mit der Option CONFIG_MIGRATION erstellt wurde (die zwei Einträge in der
Auslagerungstabelle von Hauptspeicherbereichen für die Seiten-Migrationsfunktionen von mbind(2) und
migrate_pages(2) reserviert). Seit Kernel 2.6.32 wird die Grenze ferner um eins herabgesetzt, falls der
Kernel mit der Option CONFIG_MEMORY_FAILURE erstellt wurde.
Verwerfen von Auslagerungsseiten von Hauptspeicherbereichen wurde in Kernel 2.6.29 eingeführt, dann wurde
es in Kernel 2.6.36 vom Schalter SWAP_FLAG_DISCARD abhängig gemacht, wodurch immer noch die ganze
Auslagerung von Hauptspeicherbereichen beim Aufruf von swapon() verworfen (»discard«) wird, sogar, wenn
das Schalter-Bit nicht gesetzt ist.
SIEHE AUCH
mkswap(8), swapoff(8), swapon(8)
KOLOPHON
Diese Seite ist Teil der Veröffentlichung 4.15 des Projekts Linux-man-pages. Eine Beschreibung des
Projekts, Informationen, wie Fehler gemeldet werden können sowie die aktuelle Version dieser Seite finden
sich unter https://www.kernel.org/doc/man-pages/.
ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Ralf Demmer <rdemmer@rdemmer.de>, Chris Leick
<c.leick@vollbio.de> und Mario Blättermann <mario.blaettermann@gmail.com> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer
bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an
<debian-l10n-german@lists.debian.org>.
Linux 15. September 2017 SWAPON(2)