Forgot your password?

Forgot your username?

All about IT, Web and Development.
By users for users.

Raspberry Pi - Swap Speicher erweitern und auslagern



In der Standardkonfiguration ist der Swap (=Auslagerungs-) Speicher des Raspberry Pi auf 100 MB begrenzt. Für bestimmte Applikationen kann dies unter Umständen knapp werden (z.B. Java Anwendungen).



Speicher erweitern


Die Konfiguration erfolgt über die Datei /etc/dphys-swapfile. Diese muss zunächst mit Root Rechten editiert werden.

sudo nano /etc/dphys-swapfile

Als Wert in der Datei wird der Swap Speicher in MB eingetragen. Für eine Größe von 512 MB sieht die Konfiguration wie folgt aus.

CONF_SWAPSIZE=512

Abschließend wird die Konfiguration neu eingelesen.

sudo service dphys-swapfile stop
sudo service dphys-swapfile start



Swap auf USB-Stick auslagern


Der Swap Speicher befindet sich standardmäßig auf der SD-Karte und damit auf einem Flash Speicher. Dieser besitzt eine begrenzte Anzahl an Lese- / Schreibzyklen, weshalb die häufigen Schreibvorgänge beim Swappen die Lebensdauer drastisch reduzieren können.

Um einen daraus resultierenden Systemcrash durch ein Defekt an der primären SD-Karte zu verhindern, kann ein separates Gerät (z.B. USB-Stick) als Swap verwendet werden. Hiermit wird zumindest ein Ausfall des Systems verhindert.


USB-Stick vorbereiten


Zunächst erstellen wir eine neue Swap Partition auf dem USB Stick. Achtung: Dies wird alle Daten auf dem Stick löschen.

Hierzu suchen wir zuerst mittels Fdisk das passende Gerät.
sudo fdisk -l

In unserem Fall trägt der USB Stick die Bezeichnung /dev/sda.

Disk /dev/sda: 32.0 GB, 32015679488 bytes
255 heads, 63 sectors/track, 3892 cylinders, total 62530624 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000ef190

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1            2048    62529535    31263744   83  Linux


Jetzt starten wir die Konfiguration mittels Fdisk.

fdisk /dev/sda

  • Über die Taste O erstellen wir eine neue Partitionstabelle

  • N - Neue Partition anlegen | P - Primäre Partition | 1 - Partition 1 | 2x Enter


Im nächsten Schritt setzen wir die Partitionsart auf Swap.

  • T - Partitions ID setzen | 32 - Linux swap


Abschließend wird die neue Partitionstabelle geschrieben auf den USB-Stick geschrieben.

  • W - Partitionstabelle schreiben


Swapfile deaktivieren


Da wir nun kein Swapfile mehr nutzen, deaktivieren wir dieses.

dphys-swapfile swapoff

Swap einbinden



sudo swapon /dev/sda1

Um die Swap Datei auch beim Systemstart einzubinden, wird diese in die /etc/fstab eingefügt.

sudo nano /etc/fstab
/dev/sda1       none     swap    sw              0       0


Fazit


Die Verwendung einer Swap Datei sollte immer die letzte Option sein, da die Schreibvorgänge zum einen dem Flash Speicher schaden und im Vergleich zum Arbeitsspeicher deutlich langsamer sind.

Ein besserer Ansatz ist es durch Anpassungen an der Applikation bzw. deren Konfigurationsdatei eine Optimierung des Speicherverbrauchs zu erzielen.



Michael Kostka

Fachinformatiker / Systemintegration
Ich schreibe hier regelmäßig zu den Themen Android, Web, Linux und Hardware.

Raspberry Pi Starter Kit
DataCloud

Leave a comment

I have read the privacy policy and agree to electronically store and process my input data to answer the request.