Raspberry Pi: SWAP erweitern

20 Nov
20. November 2012

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.

Dir hat der Artikel gefallen?
Teile ihn mit deinen Freunden!
27 Antworten
  1. isengdoang says:

    Hallo, ich benutze xbian und dort gibt es das Kommando dphys-swapfile nicht. Was ist zu tun?

    Antworten
    • Jan Karres says:

      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.

      Antworten
      • thorstenv says:

        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

        Antworten
    • Pixelbash (@pixelbash) says:

      als root:
      apt-get install dphys-swapfile

      Antworten
    • JT2000 says:

      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…

      Antworten
  2. Markus says:

    Beim cubietruck funktioniert das nicht. Hast du das schonmal bei deinem cubieboard gemacht oder braucht man das hier nicht?

    Antworten
  3. Daniel says:

    Wie kann man das Swapfile wieder entfernen? Also dass man dies nichtmehr nutzt

    Antworten
  4. Matthias says:

    Kann man die SWAP Partituren auch größer als das doppelte vom Ram machen oder hat das irgendwelche Nachteile?

    Antworten
    • Jan Karres says:

      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.

      Antworten
      • Matthias says:

        Ok. Ich bin am überlegen ob ich mir einen zulege um ihn als Minecraft Server zu benutzen.

        Antworten
        • Jan Karres says:

          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.

          Antworten
          • Matthias says:

            Könnte man das Problem mit der Prozessor Leistung via Cluster lösen?

          • Jan Karres says:

            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.

  5. Jan says:

    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.

    Antworten
    • Jan Karres says:

      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

      Antworten
      • Levin says:

        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?

        Antworten
  6. Klaus says:

    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?

    Antworten
    • Jan Karres says:

      Im Raspberry Pi ist mir noch keine einzige SD-Karte flöten gegangen. Folglich denke ich ist das unbedenklich.

      Antworten
  7. Libby says:

    Bei Step 3 bekomme ich den Fehler: swapon: /var/swap: read swap header failed: Invalid argument , woran könnte das liegen?

    Antworten
  8. Rainer Weinberger says:

    funktioniert perfekt danke

    Antworten
  9. tdahh says:

    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

    Antworten
  10. Norbert says:

    Super, hat mit sehr geholfen.

    Antworten

Trackbacks & Pingbacks

  1. [HOW-TO] DVB-T/C/S-Streaming auf Androiden mit Tvheadend und einem Raspberry Pi thema | th4hd sagt:

    […] 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 […]

  2. […] 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 […]

Antworten

Kommentar verfassen

JanKarres.de © 2007-2017