Da die 1024 MB die der Raspberry PI hat von der CPU und GPU geteilt werden, stehen nur 925 MB für die CPU zur Verfügung. Jedoch kann dieser Memory-Split wie diese Aufteilung genannt wird, anders verteilt werden um mehr Speicher für die CPU freizumachen, falls dies besser für die Anwendungen sind die auf dem Raspberry PI laufen und keine grafische Oberfläche verwendet wird.
Verfügbaren Arbeitsspeicher maximieren
Standardmässig können nur 1008 MB Arbeitsspeicher angesprochen werden. Durch folgenden Befehl, der die Zeile „total_mem=1024“ in die Datei /boot/config.txt hinzufügt, sollten nach einem Neustart 16 MB mehr Arbeitsspeicher frei sein. In meinem Fall waren es leider nur 4 MB, was aber trotzdem eine Verbesserung darstellt.
echo total_mem=1024 | sudo tee -a /boot/config.txt
Ergebnis
Befehl | Vorher | Nachher |
free | 925 MB | 929 MB |
---|---|---|
vcgencmd get_mem arm | 944 MB | 948 MB |
Grafikspeicher verkleinern
Da sich beim Raspberry PI die CPU und GPU den Arbeitsspeicher aufteilen, kann es für das jeweilige Einsatzgebiet von Vorteil sein, wenn diese Speicheraufteilung (Memory Split) manuell festgelegt wird. Die möglichen Werte für den Memory Split sind bei raspberrypi.org beschrieben.
Mein Raspberry PI wird als Server headless betrieben und dadurch ist kein Bildschirm angeschlossen. Damit benötigt auch die GPU keine 64 MB Speicher, die standardmässig reserviert werden und es ist mehr Arbeitsspeicher für Programme frei. Der Speicher der GPU kann auf ein Minimum von 16 MB konfiguriert werden.
echo gpu_mem=16 | sudo tee -a /boot/config.txt
Ergebnis
Befehl | Vorher | Nachher |
free | 929 MB | 979 MB |
---|---|---|
vcgencmd get_mem arm | 948 MB | 998 MB |
vcgencmd get_mem gpu | 64 MB | 16 MB |
Speicherverteilung prüfen
Nach einem Neustart mit sudo shutdown kann mit folgenden Befehlen geprüft werden, wieviel Arbeitsspeicher der CPU (arm) und wieviel der GPU zur Verfügung stehen. Am Anfang waren 925 MB laut „free“ frei und nach den Optimierungen sind 73 MB mehr Speicher frei und so haben die Programme insgesamt 979 MB Arbeitsspeicher zur Verfügung.
free -m total used free shared buffers cached Mem: 979 78 900 6 5 40 -/+ buffers/cache: 32 946 Swap: 2047 0 2047
sudo vcgencmd get_mem arm arm=998M
sudo vcgencmd get_mem gpu gpu=16M
Kommentare sind geschlossen.