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.
 
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.42 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>.