4x Raspberry Pi Cluster

Raspberry Pi: Größe der Swap Datei

Unter Raspberry Pi Swap Size wird beschrieben, wie die Größe der Swap Datei geändert werden kann. Hier eine verkürzte Beschreibung zur Anpassung der Größe im heruntergeladenen Image.

Das Image wird wie im Artikel Raspberry Pi: Image modifizieren beschrieben im Dateisystem eingehängt. Die Größe der Swap Datei ist in der Datei /etc/dphys-swapfile festgelegt.

# /etc/dphys-swapfile - user settings for dphys-swapfile package
# author Neil Franklin, last modification 2010.05.05
# copyright ETH Zuerich Physics Departement
#   use under either modified/non-advertising BSD or GPL license

# this file is sourced with . so full normal sh syntax applies
# the default settings are added as commented out CONF_*=* lines


# where we want the swapfile to be, this is the default
#CONF_SWAPFILE=/var/swap

# set size to absolute value, leaving empty (default) then uses computed value
#   you most likely don't want this, unless you have an special disk situation
CONF_SWAPSIZE=100

# set size to computed value, this times RAM size, dynamically adapts,
#   guarantees that there is enough swap without wasting disk space on excess
#CONF_SWAPFACTOR=2

# restrict size (computed and absolute!) to maximally this limit
#   can be set to empty for no limit, but beware of filled partitions!
#   this is/was a (outdated?) 32bit kernel limit (in MBytes), do not overrun it
#   but is also sensible on 64bit to prevent filling /var or even / partition
#CONF_MAXSWAP=2048

100 MByte ist für eine Swap-Datei wirklich nicht groß und wahrscheinlich kleineren SD-Karten geschuldet, mit denen ein Raspberry Pi auch laufen sollte.

Hier gibt es zwei Möglichkeiten:

Möglichkeit 1

Ändern der Größe unter CONF_SWAPSIZE=100 auf einen gewünschten Wert. Wenn die SD-Karte groß genug ist, kann hier für einen Raspberry Pi mit 1GByte Speicher 2048 gemäß der Faustregel 2 x RAM eingetragen werden.

Möglichkeit 2

Deaktivieren der Zeile CONF_SWAPSIZE=100 mit # und aktivieren des Parameter CONF_SWAPFACTOR=2.

Dies hat den Vorteil, dass bei Raspberry Pi 4 mit 1, 2, 4 oder 8 GByte RM automatisch eine angepasste Swap-Datei angelegt wird.

Aktivierung

Die Änderung lässt sich bei einem laufenden Raspberry Pi vornehmen. Statt eines Neustarts ist die Änderung mit

sudo systemctl restart dphys-swapfile.service

Das Betriebssystem versucht, die Swap-Datei zu leeren, abzuschalten, neu anzulegen und wieder zu starten. Wenn die laufenden Programme zu viel RAM benötigen, scheitert diese Abschaltung und es bleibt bei der alten Größe.

Prüfung mit des Speichers auf einem Raspberry Pi 3B+.

pi@pi1:/tmp $ free -mh
              gesamt       benutzt     frei      gemns.  Puffer/Cache verfügbar
Speicher:        909Mi       745Mi        42Mi        31Mi       122Mi        75Mi
Swap:             99Mi        99Mi         0Mi
pi@pi1:/tmp $ free -h
              gesamt       benutzt     frei      gemns.  Puffer/Cache verfügbar
Speicher:      909Mi       711Mi        48Mi        33Mi       149Mi       105Mi
Swap:             0B          0B          0B
pi@pi1:/tmp $ free -h
              gesamt       benutzt     frei      gemns.  Puffer/Cache verfügbar
Speicher:      909Mi       621Mi        51Mi        24Mi       237Mi       204Mi
Swap:          2,0Gi       349Mi       1,7Gi
...
pi@pi1:/tmp $ free -h
              gesamt       benutzt     frei      gemns.  Puffer/Cache verfügbar
Speicher:      909Mi       763Mi        46Mi        15Mi       100Mi        70Mi
Swap:          2,0Gi       1,0Gi       989Mi

Wie man sieht, wird der zusätzliche Speicher gerne angenommen.

Viel Spaß mit mehr virtuellem Speicher.