Provided by:
manpages-de-dev_0.10-1_all 
BEZEICHNUNG
swapon, swapoff - Auslagerung von Hauptspeicherbereichen (Swapping) auf
ein Gerat oder in eine Datei starten/beenden
"UBERSICHT
#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 fur Hauptspeicherbereiche der
Datei oder dem blockorientierten Gerat zu, das in pfad festgelegt
wurde. swapoff beendet das Auslagern von Hauptspeicherbereichen in der
Datei oder dem blockorientierten Gerat, das in pfad festgelegt wurde.
Falls der Schalter SWAP_FLAG_PREFER im swapon()-Argument swap_schalter
angegeben wurde, hat der neue Auslagerungsbereich fur
Hauptspeicherbereiche eine hohere Prioritat als der vorgegebene. Die
Prioritat 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 fur
Hauptspeicherbereiche verworfen, bevor sie erneut benutzt werden, falls
das Gerat mit dem Auslagerungsbereich fur Hauptspeicherbereiche die
Aktionen zum Verwerfen oder Kurzen (>>discard<< und >>trim<<)
unterstutzt. (Dies konnte die Leistung auf einigen Festspeichergeraten
(SSD) verbessern, was aber oft nicht der Fall ist.) Siehe auch die
ANMERKUNGEN.
Diese Funktionen konnen nur von einem privilegierten Prozess (einem,
der uber die CAP_SYS_ADMIN-Fahigkeit verfugt) benutzt werden.
Priorit"at
Jeder Auslagerungsbereich fur Hauptspeicherbereiche hat eine Prioritat,
hoch oder niedrig. Die Standardprioritat ist niedrig. Innerhalb der
Bereiche niedriger Prioritat erhalten neuere Bereiche eine niedrigere
Prioritat als altere.
Alle mit swap_schalter gesetzten Prioritaten sind hohe Prioritaten und
hoher als die Vorgabe. Sie konnen einen beliebigen durch den
Aufrufenden gewahlten nicht-negativen Wert haben. Hohere Zahlen
entsprechen hoheren Prioritaten.
Auslagerungsseiten von Hauptspeicherbereichen werden nach Prioritat aus
den Bereichen reserviert, die mit der hochsten Prioritat zuerst. Bei
Bereichen unterschiedlicher Prioritat werden die mit der hoheren
Prioritat zuerst ausgeschopt, bevor Bereiche mit niedriger Prioritat
genutzt werden. Haben zwei oder mehr Bereiche die gleiche Prioritat und
diese ist die hochste verfugbare, dann werden die Seiten reihum
nacheinander reserviert.
Ab Linux 1.3.6 befolgt der Kernel diese Regeln gewohnlich, aber es gibt
auch Ausnahmen.
R"UCKGABEWERT
Bei Erfolg wird Null zuruckgegeben. Bei einem Fehler wird -1
zuruckgegeben und errno entsprechend gesetzt.
FEHLER
EBUSY (Fur swapon()) Der angegebene pfad wird bereits als
Auslagerungsbereich fur Hauptspeicherbereiche benutzt.
EINVAL Die Datei pfad existiert, zeigt aber weder auf eine regulare
Datei noch auf ein blockorientiertes Gerat. Oder der fur
swapon() angegebene Pfad enthalt keine gultige Signatur fur die
Auslagerung von Hauptspeicherbereichen oder befindet sich auf
einen Dateisystem im Speicher, wie Tmpfs. Oder der pfad fur
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 verfugt nicht uber ausreichenden Speicher, um das
Auslagern von Hauptspeicherbereichen zu starten.
EPERM Der Aufrufende verfugt nicht uber die Fahigkeit CAP_SYS_ADMIN.
Alternativ wird die maximale Anzahl der Auslagerungsdateien fur
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 eingefuhrt.
ANMERKUNGEN
Die Partition oder der Pfad mussen mit mkswap(8) vorbereitet werden.
Es gibt eine Obergrenze fur 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
Eintrage in der Auslagerungstabelle von Hauptspeicherbereichen fur 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 eingefuhrt, dann wurde es in Kernel 2.6.36 vom Schalter
SWAP_FLAG_DISCARD abhangig 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 Veroffentlichung 3.32 des Projekts
Linux-man-pages. Eine Beschreibung des Projekts und Informationen, wie
Fehler gemeldet werden konnen, finden sich unter
http://www.kernel.org/doc/man-pages/.
"UBERSETZUNG
Die deutsche Ubersetzung dieser Handbuchseite wurde von Ralf Demmer
<rdemmer@rdemmer.de> und Chris Leick <c.leick@vollbio.de> erstellt.
Diese Ubersetzung ist Freie Dokumentation; lesen Sie die GNU General
Public License Version 3 oder neuer bezuglich der Copyright-
Bedingungen. Es wird KEINE HAFTUNG ubernommen.
Wenn Sie Fehler in der Ubersetzung dieser Handbuchseite finden,
schicken Sie bitte eine E-Mail an <debian-l10n-
german@lists.debian.org>.