Raspberry Pi hat nur 256 MB RAM, daher möchte ich Swap-Speicher verwenden (entweder auf SD-Karte oder angeschlossenem USB-Speicher). Wie richte ich es ein?
Raspberry Pi hat nur 256 MB RAM, daher möchte ich Swap-Speicher verwenden (entweder auf SD-Karte oder angeschlossenem USB-Speicher). Wie richte ich es ein?
Antworten:
Raspbian verwendet dphys-swapfile , eine auf Swap-Dateien basierende Lösung anstelle der auf Swap-Partitionen basierenden Standardlösung. Es ist viel einfacher, die Größe des Swap zu ändern.
Die Konfigurationsdatei lautet:
/etc/dphys-swapfile
Der Inhalt ist sehr einfach. Standardmäßig hat mein Raspbian 100 MB Swap:
CONF_SWAPSIZE=100
Wenn Sie die Größe ändern möchten, müssen Sie die Nummer ändern und dphys-swapfile neu starten:
/etc/init.d/dphys-swapfile restart
Bearbeiten: Unter Raspbian ist der Standardspeicherort / var / swap, der sich (natürlich) auf der SD-Karte befindet. Ich denke, es ist eine schlechte Idee, daher möchte ich darauf hinweisen, dass die / etc / dphys-Swap-Datei auch die folgende Option haben kann: CONF_SWAPFILE = / media / btsync / swapfile
Ich habe nur problem damit, der usb speicher ist automounted, also ein mögliches rennen hier (automount vs. swapon)
/var/swap
eine schlechte Idee ist?
Sie können ganz einfach Swap Space einrichten. Wenn es sich beispielsweise um ein USB-Laufwerk handelt /dev/sdx
, würden Sie Folgendes verwenden (hierfür müssen Sie root sein):
$ mkswap /dev/sdx
$ swapon /dev/sdx
Beachten Sie, dass dies das gesamte Gerät verwenden würde und Sie wahrscheinlich alle vorhandenen Daten auf dem Gerät verlieren werden.
Sie können eine Auslagerungsdatei auch wie folgt erstellen (mithilfe eines loop
Geräts):
$ dd if=/dev/zero of=/path/to/swapfile bs=1M count=1024 # For 1GB swap file
$ mkswap /path/to/swapfile
$ swapon /path/to/swapfile
Wenn Sie die Auslagerungsdatei nicht mehr benötigen (wenn Sie beispielsweise das USB-Laufwerk auswerfen möchten), müssen Sie verwenden swapoff <device>
. Andernfalls kommt es wahrscheinlich zu einem Systemabsturz.
Sie sollten jedoch vorsichtig sein . SD-Karten haben begrenzte Lese- / Schreibbeschränkungen und verkürzen ihre Lebensdauer. Wenn Sie eine externe Festplatte verwenden, sollten Sie in Ordnung sein, aber es wird sehr langsam sein.
mkswap
auf ihrer Root-Partition ausgeführt werden. Ich denke, das sdx
ist eine gute Konvention.
Mach das überhaupt nicht.
Sie sollten Swap auf dem Raspberry Pi nicht aktivieren.
Obwohl es möglich ist, ist es nicht nützlich. Selbst auf einer SDHC-Karte der Klasse 10 ist sie einfach zu langsam. Außerdem verkürzen Sie die Lebensdauer der SD-Karte.
Auf jedem Flash-basierten Speichergerät (SD-Karte, SDD, USB-Stick) werden wahrscheinlich auch systemweite Pausen angezeigt, während eine große Gruppe von Flash-Blöcken gelöscht wird.
Mögliche Ausnahmen:
Mit Raspbmc wird /etc/init/swap.conf
der Austausch über / swap-Datei konfiguriert. Es prüft zunächst auf Vorhandensein von /home/pi/.enable_swap
.
Wenn Sie löschen, /home/pi/.enable_swap
wird die Auslagerungsdatei nicht erstellt, und erstellen Sie sie einfach mit neu, touch /home/pi/.enable_swap
wenn der Auslagerungsmodus aktiviert und ein Neustart erforderlich ist.
Es ist schade, dass die Raspberry Pis kein GigaBit-Ethernet haben, aber es ist zumindest theoretisch möglich , Swap-Speicher auf einem Netzwerkgerät zu haben - das Linux-Terminal-Server-Projekt kann es den Clients gemäß diesem Punkt in ihrem Wiki vom Server anbieten .
Ich fand ein Foundation Forum-Thema "Tipp: Swap over nfs" , das zeigt, wie jemand, der bereits einige NFS-Mounts hatte, eine Swap- Datei auf einer von ihnen verwendete und diese über einen Loop-Mount mountete (möglicherweise erforderlich, weil Linux ein nicht zulässt) NFS-Mount zur direkten Verwendung). Da die Remote - Swap-Datei wird Daten halten , die das Betriebssystem nicht verlieren darf ich würde nur das prüfen , für ein verkabeltes Ethernet - Netzwerk - eine drahtlose Verbindung wäre zu zerbrechlich IMHO. Natürlich dürfen Sie auch nicht zulassen, dass der Remote-Server heruntergefahren wird, ohne den Swap auszuschalten und erst vollständig zu entleeren!