Raspberry Pi: Informationen zum Arbeitsspeicher ermitteln
Manchmal liegt es nicht am Prozessor, wenn ein Raspberry Pi langsam ist. Das kann auch am geringen Arbeitsspeicher liegen. Wenn der so langsam voll wird, werden Daten in die Swap-Datei ausgelagert, wodurch das System automatisch langsamer wird.
Im produktiven Einsatz des Raspberry Pi sollte man die Auslastung des Arbeitsspeichers prüfen können.
Aufgabe
- Wie hoch ist die Auslastung des Arbeitsspeichers?
- Wie hoch ist die aktuelle Speicherbelegung einzelner Programme und Prozesse?
- Wie kommt man an detailierte Informationen zur Speicherbelegung und Swap-Verhalten?
- Wie ist der Shared Memory verteilt?
Lösung: Freier und belegter Speicherplatz
Der Befehl "free" gibt über den Arbeitsspeicher Auskunft:
free
Die Ausgabe der Werte erfolgt in Byte.
total used free shared buffers cached Mem: 447996 409400 38596 0 45148 302192 -/+ buffers/cache: 62060 385936 Swap: 102396 0 102396
Wenn man die Werte gleich in MByte haben möchte:
free -m -t
total used free shared buffers cached Mem: 437 400 37 0 44 295 -/+ buffers/cache: 60 376 Swap: 99 0 99 Total: 537 400 137
Die interessanten Angabe finden sich in der Zeile mit "Mem". Damit ist der Arbeitsspeicher/Hauptspeicher gemeint. Der beträgt insgesamt 437 MByte (total), wovon 37 MByte (free) frei sind.
Hierbei muss man berücksichtigen, dass diese Werte eine Momentaufnahme darstellen und sich jederzeit ändern können.
Eigentlich erwartet man einen Arbeitsspeicher von 512 MByte (Modell B). Hierzu muss man wissen, dass ein paar MByte für den Grafikspeicher abgezweigt werden. In diesem Fall 64 MByte.
Erläuterung der Angaben von "free"
Lösung: Speicherplatz-Belegung durch Programme
Der Befehl "top" gibt über die Auslastung des Prozessors Auskunft:
top
Es wird eine Tabelle mit allen aktuell laufenden Prozessen angezeigt. Mit "Shift + M" sortiert man die Liste nach der Speicherbelegung. Mit "Strg + C" beendet man "top".
Lösung: Speicherbelegung und Swap-Verhalten
Weitere Informationen über die Speicherbelegung und das Swap-Verhalten liefert
cat /proc/meminfo
Im Gegensatz zu "free" bekommt man hier noch mehr Informationen über die Speicherplatz-Belegung. Hier ist erkennbar, ob auch genug Speicher vorhanden ist. Das ist der Fall, wenn gar kein oder wenig Swap-Speicher belegt ist. Dass der "freie Speicher" mit nahezu null angezeigt wird, ist unter Linux normal.
Lösung: Verteilung des Shared-Memory
Beim Raspberry Pi muss der verfügbare RAM für den Arbeitsspeicher des Prozessors und der GPU geteilt werden. Die Aufteilung erhält man mit folgendem Kommando:
vcgencmd get_mem arm && vcgencmd get_mem gpu
Die Ausgabe erfolgt jeweils in MByte.
Weitere verwandte Themen:
- Raspberry Pi: Systeminformationen ermitteln
- Raspberry Pi: vcgencmd nach-installieren
- Raspberry Pi: Linux-Distribution und -Release ermitteln
- Raspberry Pi: Informationen zum Prozessor ermitteln
- Raspberry Pi: Informationen zur SD-Speicherkarte ermitteln
Teilen:
Produktempfehlungen
Elektronik-Set Raspberry Pi Edition
Elektronik erleben mit dem Raspberry Pi mit Python und GPIO Zero
- Leichter Einstieg ins Hardware-nahe Programmieren mit Python und GPIO Zero
- Experimentieren und Programmieren ohne Vorkenntnisse
- Sofort Loslegen mit All-in-one-Set
Elektronik-Fibel
Elektronik einfach und leicht verständlich
Die Elektronik-Fibel ist ein Buch über die Grundlagen der Elektronik, Bauelemente, Schaltungstechnik und Digitaltechnik.