Raspberry Pi: SWAP erweitern
Ein bekanntes Problem des Raspberry Pis ist der bis Model B+ sehr begrenzte RAM. Von 256 MB in Model B Rev 1.0, über 512 MB ab Model B Rev 2.0 ging es bei dem Raspberry Pi 2 Model B auf 1 GB RAM und damit auf eine ordentliche Größe. Jedoch gibt es noch den SWAP, den man unter Debian leicht erweitern kann. Einfach gesagt ist der SWAP ein Zwischenspeicher, der ähnlich dem RAM behandelt wird, jedoch auf einem permanenten Speichermedium (im Falle des Raspberry Pis der SD-Karte) abgelegt wird. Der Vorteil ist, dass diese Erweiterung allgemein kostengünstig ist, jedoch ist sie um weiten nicht so Reaktionsschnell wie der RAM. Wie man den SWAP unter Raspbian auf eine vernünftige Größe erweitert, erkläre ich im Folgenden.
Voraussetzung: Raspbian oder vergleichbare Distribution installiert
Step 1
Zuerst müssen wir das SWAP-File erzeugen. Als Faustregel könnte man RAM * 2 = SWAP sagen, jedoch reicht es für die meisten Anwendungen auf dem Raspberry Pi der RAM plus, falls überhaupt benötigt, max. 1024 MB SWAP. Folglich würde ich auch bei dem Raspberry Pi 2 Model B nicht mehr als 1024 MB auf der SD-Karte für den SWAP reservieren. Im Beispiel lege ich de SWAP mit 1024 MB an.
sudo su -c 'echo "CONF_SWAPSIZE=1024" > /etc/dphys-swapfile'
sudo dphys-swapfile setup
Step 2
Nachdem wir das SWAP-File erzeugt haben, müssen wir dieses einmalig aktivieren.
sudo dphys-swapfile swapon
Fertig! Jetzt hat dein Raspberry Pi für den Fall der Fälle genug SWAP und wird wegen einer Überladung des RAMs nicht in die Knie gehen.
Dieses Tutorial wurde am 22. Februar 2015 überarbeitet.
32 Kommentare. Hinterlasse eine Antwort
Hallo, ich benutze xbian und dort gibt es das Kommando dphys-swapfile nicht. Was ist zu tun?
Ich denke, du musst mit GParted an das Ende der SD-Karte ein SWAP-Part stellen. Ein einfaches Kommando für xbian ist mir nicht bekannt.
Danke für die Anleitungen zur rasbian-Installation und zum Swap-File-Einrichten, aber der Hinweis auf eine Swap-Partition macht hier IMHO keinen Sinn. Die ist keine Voraussetzung für ein Swap-File, sondern eine Alternative dazu. Der Zugriff auf den Swap geht dann direkt auf den Speicher dieser Parition, die überhaupt kein gewöhnliches Filesystem hat. Ob das auf SD-Karten wegen des wear-levelings von Vorteil oder Nachteil ist, weiß ich nicht.
Die Einrichtung einer swap-Partition ist hier erklärt http://wiki.ubuntuusers.de/Swap
als root:
apt-get install dphys-swapfile
Hallo! Hab auch grade versucht den SWAP zu erweitern auf 1024 MB. Dauert das lange? Der Raspy rödelt nun schon seit einer viertel Stunde rum…
[…] bereits vorab geschehen, den RAM auf mindestens 512 MB erweitern. Wie das geht beschrieb ich unter https://jankarres.de/2012/11/raspberry-pi-swap-erweitern/. Step […]
Beim cubietruck funktioniert das nicht. Hast du das schonmal bei deinem cubieboard gemacht oder braucht man das hier nicht?
sudo apt-get install dphys-swapfile
… und fertig 🙂
Wie kann man das Swapfile wieder entfernen? Also dass man dies nichtmehr nutzt
Ausschalten kannst du es mittels folgenden Befehles:
dphys-swapfile swapoff
Kann man die SWAP Partituren auch größer als das doppelte vom Ram machen oder hat das irgendwelche Nachteile?
Logo. Die oben angegebene Zahl ist nur eine Faustregel. Jedoch sollte dir bewusst sein, dass SWAP wesentlich langsamer als RAM ist und dessen Verwendung daher nur temporär sinnvoll ist. Daher reicht RAM * 2 im Normalfall dicke.
Ok. Ich bin am überlegen ob ich mir einen zulege um ihn als Minecraft Server zu benutzen.
Das Problem im Bezug auf einen Minecraft Server liegt beim Raspberry Pi viel mehr an der Leistung des Prozessors. Siehe meine drei Artikel über Minecraft im Bezug auf den Raspberry Pi.
Könnte man das Problem mit der Prozessor Leistung via Cluster lösen?
Habe ich noch nicht ausprobiert ob das überhaupt geht, aber sollte definitiv ineffizient sein. Lieber ein leistungsstärkeres Board kaufen oder direkt in einem Rechenzentrum mieten.
[…] dreamshader@Raspberry_Pi_Forum für die Infos zur Stromversorgung eines Pis. Jan Karres für die Tipps zur SWAP-Einrichtung aus Abschnitt 2 meigrafd@Raspberry_Pi_Forum für die Befehle zur Installation von TVHeadend aus […]
Ich greife über SSH auf den Raspberry zu und nach dem swapon-Befehl, der ge-„killed“ wurde, komme ich über SSH gerade mal bis zum login, dann wird die Verbindung getrennt.
Vielleicht wird dieser Datenbestand im SWAP gelagert, der, da du ihn gekillt hast, nicht ordentlich funktioniert. Ich würde über Bildschirm und Tastatur den SWAP mittels folgendem Befehl mal deaktivieren:
dphys-swapfile swapon
habe wohl dasselbe problem….komme allerdings auch nicht mehr mit Tastatur und Bildschirm ran. Im Bootprozess nach starting nginx kommt starting dphys-swapfile swapfile setup …dann lange nichts und irgendwann in roter Caps-Schrift fail. Hatte beim Anlegen der SWAP-Datei die Faustregel beachtet. Da ich einen Raspberry Pi 2 habe mit 1GB RAM, also 2048 eingegeben. Dann kam lange nix, ich zog den Stecker und seitdem „nix mehr Lischd“ 🙂 🙁
Was tun?
Führt die Verwendung von Swap nicht zu mehr Write-Actions auf der SD-Karte? Wie sind deine Erfahrungen mit der Haltbarkeit von SD-Karten bei vielen Write-Actions?
Im Raspberry Pi ist mir noch keine einzige SD-Karte flöten gegangen. Folglich denke ich ist das unbedenklich.
Bei Step 3 bekomme ich den Fehler: swapon: /var/swap: read swap header failed: Invalid argument , woran könnte das liegen?
Vorstellen könnte ich mir, dass die Partition, auf der das SWAP-File erzeugt werden sollte, bereits voll ist.
funktioniert perfekt danke
Hiermit habe ich mein 8GB Swapfile auf RPI2B erzeugt:
sudo vi /etc/dphys-swapfile:
CONF_SWAPFACTOR=8
CONF_MAXSWAP=8192
CONF_SWAPSIZE=8192
sudo dphys-swapfile setup
sudo dphys-swapfile swapon
Super, hat mit sehr geholfen.
Ein simples Danke von meiner Seite: Dankeschön !
Ich kannte bis jetzt nur die SWAP-Partition und wollte diese eigentlich vergrößern. Aber scheinbar ist es auf dem RasPi/PiDrive ein SWAP-File.
Mein Problem war das ich MySQL-5.7.20 kompilieren wollte und beim bauen von „item_geofunc“ kam es zum „out of memory“ bzw. alles hängte sich auf und reagierte nicht mehr.
Mit diem SWAP-File lässt sich das super temporär „anheben“, kompilieren und zurücksetzen.
So… läuft ! Zusätzlich zu den 1GB des RasPi3 habe ich 247MB(Peak) beanspruchung des SWAP-Files(2GB) beobachtet. (bei „make -j1“ ..mit „make -j5“ flog es mir leider auch um die Ohren, aber das hätte ich vorrausahnen können)
Danke.
Hallo
Bin noch ein neuling aber von anfang an begeistert. Hab den b+ hier und heute kommt der 3er b. Meine frage kann man die swapfile auch auslagern auf externefestplatte oder extra usb stick? Würde doch mehr sinn machen als auf der sd karte oder nicht?
[…] http://jankarres.de/2012/11/raspberry-pi-swap-erweitern/ […]
[…] http://jankarres.de/2012/11/raspberry-pi-swap-erweitern/ […]
Hallo!
Warum ein Swapfile und keine Swap-Partition, dies ist (zumindest bei mechanischen Festplatten) schneller?
Ich weiß, das wird schwierig zu bewerkstelligen sein, da man die SD-Karte umpartitionieren müsste.
Trotz-alledem hast Du hier eine Sammlung wirklich hilfreicher RPI-Anleitungen! *Daumen hoch*