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

  1. Wie hoch ist die Auslastung des Arbeitsspeichers?
  2. Wie hoch ist die aktuelle Speicherbelegung einzelner Programme und Prozesse?
  3. Wie kommt man an detailierte Informationen zur Speicherbelegung und Swap-Verhalten?
  4. 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:

Frag Elektronik-Kompendium.de

Elektronik-Set Raspberry Pi Edition
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-Set jetzt bestellen

Elektronik-Fibel

Elektronik einfach und leicht verständlich

Die Elektronik-Fibel ist ein Buch über die Grundlagen der Elektronik, Bauelemente, Schaltungstechnik und Digitaltechnik.

Das will ich haben!