Wenn der Arbeitsspeicher nicht reicht: Swap

Aus Siduction Wiki DE
Wechseln zu: Navigation, Suche


Einleitung

Linux bietet die Möglichkeit, den Arbeitsspeicher virtuell zu vergrößern. Wenn der physische Speicher nicht reicht, werden aktuell nicht aktive Bereiche auf Festplatte ausgelagert und der so freigewordene Platz genutzt.

Da der Zugriff auf den Arbeitsspeicher um Größenordnungen schneller als der Zugriff auf Festplatte ist, ist das nur eine Notlösung.

Linux bietet zwei Möglichkeiten, Swap-Speicher zu verwenden:

  • Als eigene Parition
  • Als Datei

Verwenden einer Swap-Partition

Es gibt einen eigenen Partitionstyp für Swap: 0x82. Damit sollte die Partition gekennzeichnet werden. Das geht im fdisk z.B. mit t (set type).

# Anlegen der Partition mit der Kennung ("Label") swap1:
mkswap -L swap1 /dev/sdXY
  • /dev/sdXY ist anzupassen, z.B. sda5

Einbinden in /etc/fstab:

LABEL=swap1 none swap sw 0 0

Es können auch mehrere Swap-Partitionen verwendet werden. Dies ist sinnvoll, wenn diese auf verschiedenen Platten liegen.

Verwenden einer Swap-Datei

Vor allem für kurzfristige Lösungen bietet sich eine Swap-Datei an:

# Anlegen von 2 GByte
dd if=/dev/zero of=/swapfile1 bs=1024 count=2097152
# Einbinden als Swap-Datei:
mkswap /swapfile1 && swapon /swapfile1

Wenn das über das Booten hinaus bestehen soll, hilft ein Eintrag in /etc/fstab:

/swapfile1 none swap sw 0 0

Anwendungsbeispiele

Allgemein:

  • Auf einem Server, auf dem außergewöhnlich viel Aktivitäten erwartet werden und keine Zeit bleibt, den RAM auszubauen.
  • Auf Hardware, die keinen weiteren Ausbau des Arbeitsspeichers erlaubt, z.B. NAS.
  • Wenn kurzfristig eine Anwendung viel Speicher braucht.

Für Swap-File:

  • Auf Systemen, auf denen keine Swap-Partition vorgesehen war und ein Umpartitionieren zu aufwendig ist.

Links