swapoff

SWAPON(2)                  Linux-Programmierhandbuch                 SWAPON(2)



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öpft, 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 5.03 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)