RAM ist aus mehreren Gründen für die Linux-Leistung von entscheidender Bedeutung:
Caches. Linux läuft die meiste Zeit ohne freien Speicher. Wenn ein Teil des Arbeitsspeichers nicht von Anwendungen verwendet wird, wird er für Caches verwendet, was die Dinge beschleunigt. So wird niemals Speicher verschwendet. Wenn Anwendungen mehr Speicher benötigen, werden Caches freigegeben, sodass Caches nicht verhindern, dass Anwendungen, die mehr RAM benötigen, ausgeführt werden. Aber je mehr Sie zwischenspeichern können, desto besser.
Viele Anwendungen (insbesondere Desktop-Anwendungen) benötigen heutzutage viel Arbeitsspeicher. Dies ist keine Überraschung - die meisten Desktop-Systeme (oder sogar Smartphones) haben heutzutage viel mehr Speicher als Rapsberry Pi. Zum Beispiel verbrauchen Webbrowser (auch mit geringem Gewicht) zehn MB Speicher, sobald Sie eine größere Website öffnen.
Jede Anwendung benötigt Speicherplatz. Je mehr Anwendungen Sie ausführen, desto mehr Speicher wird verwendet.
Sie möchten also immer so viel ARM-Speicher wie möglich haben. Die GPU hat jedoch ihre eigenen Anforderungen, je nachdem, welche Funktionen Sie von ihr erwarten.
256MB Version
Für ältere RaspberryPi mit 256 MB RAM stehen 4 Splits zur Verfügung:
240/16 - Der ARM mit der meisten RAM-Größe (240 MB) kann mit einem minimalen GPU-Speicher erreicht werden. Es ist das Beste für die allgemeine Datenverarbeitung, wenn Sie keine 3D-Grafik oder Hardware-Videobeschleunigung benötigen. Es verfügt über genügend Speicher für die Framebuffer-Auflösung von 1920x1200x16bpp. 32bpp funktioniert zwar auch, dies wird jedoch nicht empfohlen, da nur sehr wenig freier Speicher für die GPU verbleibt.
224/32 - Dieser wird zugunsten der 240/16-Teilung abgelehnt. Es verfügt über eine eingebaute 3D- und Hardware-Videodekodierung. Da jedoch nicht genügend Speicher vorhanden ist, um es tatsächlich zu verwenden, hat es wenig Sinn, ihn zu verwenden. Es sei denn, Sie haben Probleme mit der 240/16-Aufteilung oder möchten den 32-Bit-Framebuffer mit der höchsten Auflösung verwenden. Möglicherweise wird es in Zukunft gelöscht.
192/64 - Sie benötigen mindestens 64 MB GPU-Split, um die Hardware-Videobeschleunigung oder 3D-Grafiken zu verwenden. Möglicherweise reicht der GPU-Speicher für die hardwarebeschleunigte Videowiedergabe bei höchster Auflösung nicht aus, oder Sie benötigen viel GPU-Speicher für Dinge wie Texturen.
128/128 - Die meiste RAM-GPU kann erhalten werden. Verwenden Sie diese Funktion, wenn Sie viel Speicher für die 3D-Grafikkarte und die hardwarebeschleunigte Videowiedergabe in hoher Auflösung benötigen. Diese Aufteilung ist erforderlich, damit RaspBMC ordnungsgemäß funktioniert oder FullHD-Videoinhalte problemlos mit omxplayer wiedergegeben werden können.
512MB Version
Neue Versionen von RaspberryPi haben 512 MB RAM. Sie haben 4 zusätzliche Splits für diese Version:
- 496/16 und 448/64 - wie
240/16
und 192/64
aufgeteilt für 256 MB, jedoch mit 256 MB mehr RAM für ARM. Da die GPU nur 16 MB / 64 MB oder RAM hat, gelten alle Einschränkungen von 240/16
/ 192/64
weiterhin.
- 384/128 - Ähnlich wie bei 128/128 Split für 256 MB - Sie sollten alle Grafikchip-Funktionen erhalten, jedoch mit einer angemessenen Menge an ARM-Speicher. Dies wird momentan wahrscheinlich die universellste Spaltung sein.
- 256/256 - Einige Bonus-Grafikkartenspeicher, wenn Sie es wirklich brauchen, wie für große Texturen und ähnliche Dinge. 256 MB ARM-Speicher sind zwar größer als in älteren RaspberryPis-Versionen, ich glaube jedoch nicht, dass dieser Speicher bei vielen Gelegenheiten verwendet wird.
Dynamische Teilungen
Neue Versionen des Firmware-Pakets entfernen die meisten start_*.elf
Dateien, wobei nur start.elf
und start_cd.elf
(auch fixup*.elf
Dateien, die hinzugefügt wurden) übrig bleiben. Von nun an müssen Sie nicht mehr manuell das richtige auswählen start_*.file
. Verwenden Sie stattdessen die gpu_mem*
Optionen in der config.txt
Datei, um festzulegen, wie viel Speicher für die GPU verwendet werden soll. Der verbleibende Speicher wird ARM zugewiesen. Für diese Optionen sollte es möglich sein, eine beliebige Zahl im folgenden Bereich zu verwenden:
**512MB of RAM**: 16M-448M
**256MB of RAM**: 16M-192M
Zwar gibt es derzeit keine fest codierten Aufteilungswerte, aber die meisten Informationen für den Rest dieser Antwort sollten weiterhin gültig sein, wenn Sie bestimmen möchten, wie viel Speicher der GPU zugewiesen werden soll.
start_cd.elf
und fixup_cd.elf
Dateien sind abgespeckte Versionen der jeweiligen Dateien, die nur verwendet werden, wenn gpu_mem=16
.
Verwenden einer SD-Karte für die 256- und 512-MB-Version
Wenn Sie ein SD-Karten-Image für verschiedene RaspberryPi-Versionen verwenden, können Sie gpu_mem_256
und gpu_mem_512
Optionen verwenden. Das erste wird nur für die 256-MB-Version verwendet, während das zweite nur für die 512-MB-Version der Karte verwendet wird.