Raspberry Pi Tuning – Dem Pi Beine machen beim surfen

Alle feiern den Raspberry Pi 4 und sind gierig auf die 4GB RAM Version! Aber was stell ich denn mit 4GB RAM überhaupt an? Denn am Ende ist und bleibt weiterhin der Flaschenhals die SD Karte. Das arme Ding wird regelrecht gequält wenn es darum geht ganz simpel im Internet zu surfen.

Bei den bisherigen Raspi Versionen konnte man mit ein paar Handgriffen zumindest Teile des Systems auf einen externen Speicher wie eine SSD oder einen USB Stick auslagern. Beim 3er Raspi konnte man gar das ganze System von diesem externen Speicher über USB starten.

Beim 4er Pi gucken wir noch ziemlich dumm aus der Wäsche, denn aktuell ist dies nicht möglich. Wir müssen auf einen neuen Bootloader warten, welcher im ersten Schritt aber erst mal den Netzwerkboot (PXE) bekommen soll.

Um da ein wenig Abhilfe zu schaffen habe ich ein paar Tweaks auf meinem Pi4B 4GB vorgenommen. Diese können natürlich auch auf der 2GB und 1GB Version sowie auf den Vorgängern durchgeführt werden. Allerdings sollte man dabei etwas auf den verfügbaren RAM achten.

  1. Chromium Browser installieren
    Ich mag Chrome. Man kann natürlich auch jeden anderen Browser verwenden. Wichtig für den 2. Schritt wäre aber zu wissen wohin der Browser seine Cache Daten schreibt. Normalerweise geschieht das unter „/home/pi/.cache/“

    sudo apt update && sudo apt install chromium-browser -f -y
  2. tmpfs
    Die Temp Verzeichnisse und das Cache Verzeichnis des Browsers in „tmpfs“ Auslagern. Nach einem Reboot sind diese Verzeichnisse dann wieder leer, aber dafür liegen die Daten während der Laufzeit im schnellen RAM des Pi.

    sudo nano /etc/fstab

    Am Ende der Datei die folgenden Zeilen einfügen:

    tmpfs    /tmp    tmpfs    defaults,noatime,nosuid,size=100m    0 0
    tmpfs    /var/tmp    tmpfs    defaults,noatime,nosuid,size=30m    0 0
    tmpfs    /var/log    tmpfs    defaults,noatime,nosuid,mode=0755,size=100m    0 0
    tmpfs    /home/pi/.cache/chromium    tmpfs    defaults,noatime,nosuid,size=500m    0 0

    Die Größe der „tmpfs“ kann natürlich je nach RAM Größe angepasst werden. Bei 1GB RAM sollte man vielleicht nur 100-150m für den Cache verwenden.
    Man kann dort auch noch weitere Verzeichnisse rein legen. Um die SD Karte zu schonen bietet sich z.B. /var/log an. Da die Logs dann aber nach jedem Reboot weg sind, könnte das die Fehlersuche erschweren. Sollte man also mit Vorsicht genießen.

  3. GPU RAM erhöhen
    Wenn mehr RAM zur Verfügung steht, kann man auch der GPU mehr gönnen. Auf dem 4er Pi mit 4GB habe ich mal 512MB an die GPU delegiert. Bei 1GB RAM sollte es nicht mehr als 256MB sein.
    Das kann man entweder über „raspi-config“ in der Bash erledigen (unter Advanced -> Memory Split) oder in der „config.txt“:

    sudo nano /boot/config.txt

    Am Ende der Teil folgendes einfügen:

    gpu_mem=512
  4. Turbo Mode
    Als nächstes kümmern wir uns um die CPU. Dafür sollte aber ausreichend Kühlung für den Pi vorhanden sein. Kein geschlossenes Gehäuse und Lüftungsschlitze sind da Pflicht! Beim 4er Pi sollte auch ein aktiver Lüfter vorhanden sein, oder ein Gehäuse das die Wärme ableiten kann. Beispiele folgen am Ende des Artikels! Dazu aktivieren wir den Turbo Mode.

    sudo nano /boot/config.txt

    Nun fügen wir am Ende folgendes ein:

    force_turbo=1
  5. CPU Governor
    Per Default läuft die CPU im Modus „ondemand“. Heißt die Leistung wird erst zur Verfügung gestellt, wenn sie benötigt wird. Hier gilt das gleiche zum Thema Kühlung wie bei Punkt 4. Erst mal prüfen wir welche Mode gerade läuft. Dies sollte „ondemand“ sein.

    cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

    Um die CPU nach einem Boot also in den „performance“ Mode zu zwingen muss zunächst der Dienst deaktiviert werden der den Mode auf „ondemand“ setzt. Dieser heißt „raspi-config“ und hat nichts mit dem Bash Befehl zu tun mit dem man den Raspberry Konfigurieren kann. Der Name ist etwas schlecht gewählt.

    sudo systemctl disable raspi-config

    Und nun bringen wir den Pi den „performance“ Mode nach dem boot bei:

    sudo nano /etc/rc.local

    Zwischen die Zeilen mit „fi“ und „exit 0“ fügen wir eine Zeile ein, damit das ganze wie folgt aussieht:

    fi
    
    echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
    
    exit 0

     

So das sollte es gewesen sein. Mein Pi 4 mit 4GB RAM startet in zügigen 10 Sekunden und auch surfen (Youtube etc.) macht jetzt deutlich mehr Spaß. Ich denke wenn der USB Boot auf dem Pi4 möglich ist kann man noch mehr Geschwindigkeit herausholen.

 

Nun noch das Thema Kühlung für den Pi4B.
– Passiv: Sertronics Armor Case
– Aktiv: irgendein offenes/halboffenes Gehäuse oder zumindest Lüftungsschlitze, dazu ein Pimoroni Fan SHIM

Vorschläge und Ergänzungen könnt Ihr gerne in den Kommentaren da lassen 😉

6 Kommentare

  1. du kannst den pi auch locker noch overclocken.
    besonders wenn du nen kühler drauf hast.
    beim pi 400 kann man jetzt sogar erstmals ( da neuerer core als der vierer )
    auf 2200 takten – 2.2 GHz pro core

    force_turbo=1
    over_voltage=8
    arm_freq=2200

    beim normalen 4er kannst du da glaube ich nur bis knapp 2 GHz

    mit dem zeichentablet was ich da aktuell dran hängen habe brauch
    ich in den meisten fällen keinen laptop, der raspberry reicht.

    • Hallo Patrick, das kann ich dir so direkt nicht beantworten da ich sehr selten YT gucken und wenn dann nicht auf dem Pi.
      Du wirst aber auf einem Pi generell nie die Leistung erreichen die du von einem PC/Laptop gewohnt bist. Meine letzten Versuche mit FHD auf dem Pi waren befriedigend, aber weit weg von perfekt und ruckelfrei. Ich schätze 30fps werden es sein.

  2. Hallo Christian, anscheinend scheint es jetzt ja möglich zu sein von Festplatte auf USB 3.0 booten zu können. Könntest Du dafür mal eine kleine Anleitung schreiben?

  3. Hallo Christian,

    interessante Fakten zum neuen Pi4. Hätte jetzt wiklich gedacht, dass der auch von USB booten könnte. Geht ja auch beim Pi3. Mal kurz mit spezieller Codezeile in der config.txt auf der Bootpartition gebootet und schon wurde das Bit zum Booten von USB gesetzt. Danach konnte der Pi3 auch von USB booten. Vor allem mit USB3.0 schreit das ja geradezu nach Nutzung einer USB3.0/3.1 Festplatte. Dann hoffen wir mal, dass die Raspberry-Entwickler sich da mal ran machen.

    Bei mir empfängt jetzt ein Pi3 Wettersatelliten, was hervorragend funktioniert. Mehr dazu auf meinem Blog 😉 .
    Gruß Stefan.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.