Raspberry Pi SD Karte
Dieser Artikel widmet sich ausschließlich der Raspberry Pi SD Karte. Diese ist der primäre Speicher des kleinen Rechners und deshalb von zentraler Bedeutung. Eine Raspberry Pi SD Karte muss nicht nur groß genug für Daten sein, die Lese- und Schreibgeschwindigkeit muss ebenfalls gut sein. Schlechte Speicher bremsen den Raspberry Pi massiv ein.
Raspberry Pi SD Karte
Die SD Karte wurde ursprünglich als Langzeitspeicher für mobile Geräte entwickelt. Zuerst in Fotoapparaten, danach in Smartphones, Tablets, Navigationsgeräte und zahlreiche andere Gerätetypen. Wichtig war viel Speicherplatz zu einer kleinen Bauform und das die Daten ohne Energieverbrauch lange Zeit persistent gespeichert bleiben.
Spezialanforderung
Bei moderneren Geräten wie Smartphones oder dem Raspberry Pi müssen Daten schnell gelesen und geschrieben werden können. Gute Schreib- und Lesegeschwindigkeiten werden erwartet. Ein Blogger hat in einem Test zahlreicher aktueller SD Karten führender Hersteller getestet und ernüchterndes festgestellt.
SD Karten Vergleich
Eine Raspberry Pi SD Karte benötigt mindestens 4 GB (besser mindestens 8 GB) und sollte Class 10 entsprechen. Damit hat man laut Definition einen Speicher mit einer Mindestschreibgeschwindigkeit von 10 MB/s. Die Angabe der Class (die eingekreiste Zahl auf der Karte) gibt Auskunft über die Schreibgeschwindigkeit und kann anhand folgender Aufzählung abgelesen werden:
- Class 2: 2 MB/s
- Class 4: 4 MB/s
- Class 6: 6 MB/s
- Class 10: 10 MB/s
wie Jeff Geerling in seinem Blog gezeigt hat sind die realen Zahlen die durch Tests festgestellt wurden ganz anders. Nicht jeder Speicher schneidet gleich ab, es gibt massive Unterschiede. Die 3 Top Modelle hatten Schreibgeschwindigkeiten von über 10 MB/s, teilweise sogar sehr viel:
- Samsung EVO+
hdparm: 18.45 MB/s
dd: 14.0 MB/s - Samsung EVO
hdparm: 17.39 MB/s
dd: 10.4 MB/s - SanDisk Extreme Pro
hdparm: 18.43 MB/s
dd: 17.6 MB/s
Es zeigte sich das die schlechtesten SD Karten nicht einmal auf die versprochenen 10 MB/s kamen. Gemessen an den Topmodellen zeigten sich drastisch schlechtere Werte.
- Kingston
hdparm: 12.80 MB/s
dd: 7.2 MB/s - No-name
hd parm: 13.37 MB/s
dd: < 1 MB/s
Schreib- und Lesegeschwindigkeit messen
Unter Linux kann man am Raspberry Pi die Geschwindigkeit folgendermaßen messen:
sudo hdparm -t /dev/mmcblk0
Mit dem hdparm kann man gebufferte Zugriffe auf die Karte testen und die Messungen werden auf der Konsole ausgegeben. Falls hdparm noch nicht installiert ist, dann funktioniert das mit:
sudo apt-get install hdparm
Eine andere Möglichkeit ist das dd Programm. Sofern die Blocksize (bs) und die Anzahl an Blöcken (count) größer als der Cache vom Betriebssystem sind werden tatsächlich Daten geschrieben.
sudo dd if=/dev/zero of=/drive/output bs=8k count=50k conv=fsync; sudo rm -f /drive/output
Alternativen
sollte man eine zu langsame Raspberry Pi SD Karte haben merkt man das vor allem beim Systemstart, beim Laden von Programmen und beim Speichern großer Datenmengen. Eigentlich schon beim Kopieren des Images auf die Karte. Je nachdem wofür man den Pi einsetzt hat man nun trotz langsamer Karte Alternativen.
- USB-Sticks verwenden
der Raspberry Pi hat zahlreiche USB Anschlüsse. Man kann deshalb sehr einfach den Speicher erhöhen und wichtige und oft benötigte Dateien dort ablegen (sofern der USB-Stick vernünftige Zugriffszeiten hat) - Externe Festplatte anschließen
ist vor allem für sehr große Datenmengen zu empfehlen. Die Zugriffszeiten auf Festplatten ist relativ langsam (im Vergleich zu SSD und Flash Speicher), dafür aber zuverlässiger. - Für lang laufende Dienste ohne großen Speicherzugriff einsetzen
bereits geladene Programme halten den Programmcode im RAM, brauchen also die SD Karte gar nicht. Im Laufenden Betrieb würde man selbst mit schlechter Raspberry Pi SD Karte keinen Unterschied merken, sofern man nie auf die SD Karte auslagern muss, selten Log Files schreiben muss und selten Daten von der Karte laden muss.
Fazit
Mit einer langsamen Raspberry Pi SD Karte hat man ein schweres Leben. Die Geschwindigkeit vom Rechner wird von der Leistung der Sd Karte massiv beeinträchtigt. Die Investition in eine leistungsfähige Karte rentiert sich, je nach Nutzungsgrad sogar enorm. Alternativ kann man durch USB-Sticks, externen Speichern und speziellen Diensten den Pi trotzdem halbwegs effizient nutzen.
Welche SD Karte hab ihr bei euren Raspberry Pi im Einsatz? Welche Werte könnt ihr dafür messen?
Transcend Class10 SDHC
hdparm: 17.20 MB/sec
SANDISK microSDXC Ultra 64GB, Class 10, UHS-I, 48MB/Sec Micro-SDXC Speicherkarte, 64 GB, 48 Mbit/s, Class 10
hdparm: 28.28 MB/sec
Verbatim Premium SDHC,Class10,8 GB
verwendet in einem Raspberry Typ B
pi@difu1 ~ $ sudo hdparm -t /dev/mmcblk0
/dev/mmcblk0:
Timing buffered disk reads: 60 MB in 3.02 seconds = 19.90 MB/sec
danke dafür!