Provided by: manpages-de-dev_0.10-1_all bug

BEZEICHNUNG

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

ÜBERSICHT

       #include <unistd.h>
       #include <asm/page.h> /* zum Bestimmen von PAGE_SIZE */
       #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-Fähigkeit 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,  zeigt aber weder auf eine reguläre
              Datei  noch  auf  ein  blockorientiertes  Gerät.  Oder  der  für
              swapon()  angegebene Pfad enthält keine gültige Signatur für die
              Auslagerung von Hauptspeicherbereichen oder  befindet  sich  auf
              einen  Dateisystem  im  Speicher,  wie  Tmpfs. Oder der pfad für
              swapoff() ist derzeit nicht  in  einem  Auslagerungsbereich  von
              Hauptspeicherbereichen.

       ENFILE Die   Systembegrenzung  der  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 Fähigkeit 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  3.32  des  Projekts
       Linux-man-pages. Eine Beschreibung des Projekts und Informationen,  wie
       Fehler     gemeldet     werden     können,     finden     sich    unter
       http://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG

       Die deutsche Übersetzung dieser Handbuchseite  wurde  von  Ralf  Demmer
       <rdemmer@rdemmer.de> und Chris Leick <c.leick@vollbio.de> 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>.