Swap

Aus wiki.archlinux.de
Version vom 22. Juni 2012, 21:24 Uhr von Malte (Diskussion | Beiträge) (Swapgröße für Hibernate auf RAM-Größe+1GiB geändert (nach https://help.ubuntu.com/community/SwapFaq), sollte auf aktuellen Rechnern funktionieren.)

Der Swapspeicher (oder Auslagerungsspeicher), kurz Swap, ist eine Datei oder eine Partition, die die Kapazität des Arbeitsspeichers erweitert. Zudem ermöglicht dieser Speicherplatz es, bei ausreichend großer Kapazität, in den Suspend-to-Disk-Modus zu wechseln.

Größe des Swaps

Aktuelle Systeme bieten heutzutage üblicher Weise mehr als 1 GiB Arbeitsspeicher, und benötigen damit im Regelfall keinen Swapspeicher. Die häufigste Ausnahme ist die Verwendung des Ruhezustandes. Hierfür muss der Swapspeicher etwas größer als der Arbeitsspeicher sein.

Swappartition

Die meistgenutzte Art eines Swapspeichers ist eine dedizierte Swappartition. Um nachträglich eine Swappartition anzulegen, muss als erstes eine neue Partition des Typs 82 bzw. „Linux Swap“ angelegt werden.

Die Formattierung wird mittels mkswap durchgeführt.

mkswap -L MeinSwapLabel /dev/partition

Hierbei wird ein Swapspeicher in /dev/partition mit dem Label „MeinSwapLabel“ angelegt. Das Label erlaubt eine einfachere und ästhetischere Einbindung in der /etc/fstab als mithilfe der UUID.

Swapdatei

Statt einer Swappartition kann auch eine Datei als Swapspeicher verwendet werden. Da die Datei zusätzlich als Teil eines anderen Dateisystems existiert, ist diese Variante langsamer als die dedizierte Partition.

Falls noch keine Datei vorhanden ist, kann sie mit dd angelegt werden (in diesem Fall 9 GB, um auf einem System mit 8 GB Arbeitspeicher Suspend to Disk zu ermöglichen):

dd if=/dev/zero of=/pfad/zur/swap-datei bs=1G count=9

Swap aktivieren

Aktiviert wird der Swapspeicher durch einen beim nächsten Neustart oder durch swapon.

swapon /dev/partition        # dedizierte Partition
swapon /pfad/zur/swap-datei  # Swapdatei

Um die Swappartition automatisch einzubinden, muss ein Eintrag in die /etc/fstab geschrieben werden.

LABEL=MeinSwapLabel  none swap sw 0 0
# bzw.
/pfad/zur/swap-datei none swap sw 0 0