Provided by: manpages-de-dev_4.13-4_all bug

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 angegeben wurde. swapoff beendet das Auslagern von Hauptspeicherbereichen  in  der  Datei
       oder dem blockorientierten Gerät, das in pfad angegeben 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 swapflags 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.10  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  die
       Mailingliste der Übersetzer.

Linux                                          15. September 2017                                      SWAPON(2)