Provided by: manpages-de-dev_4.15.0-9_all bug

BEZEICHNUNG

       swapon,  swapoff - Auslagerung von Hauptspeicherbereichen (Swapping) auf ein Gerät oder in
       eine Datei starten/beenden

ÜBERSICHT

       #include <sys/swap.h>

       int swapon(const char *pfad, int swap_schalter);
       int swapoff(const char *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
       gesetzt, um den Fehler anzuzeigen.

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.13  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 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ 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 ⟨debian-l10n-german@lists.debian.org⟩.