Raspberry Pi – Ein Blick auf den Stromverbrauch

Raspberry Pi Logo

Der Raspberry Pi kann für eine Vielzahl von Projekten verwendet werden und zeichnet sich durch eine ausreichende Performance und einen geringen Stromverbrauch aus. Doch was bedeutet ein geringer Stromverbrauch genau? Falls der Raspberry Pi mit Akkus betrieben oder als Server verwendet wird und rund um die Uhr läuft, ist es wichtig genaue Werte zu kennen.

Ich habe den aktuellen Raspberry Pi 3B+ genauer unter die Lupe genommen und liefere euch ein paar Werte. Alle Messungen wurden ohne Monitor, Tastatur und Maus durchgeführt. Als Betriebssystem kam das aktuelle Raspbian Stretch Lite (13.11.2018) zum Einsatz.

Raspberry Pi 3B+ Status Stromverbrauch
Idle (kein Ethernet oder WLAN) 1,6 W
Idle (WLAN) 1,9 W
Idle (Ethernet 100 MBit/s) 1,8 W
Idle (Ethernet 1 GBit/s) 2,1 W
Idle (Ethernet 1 GBit/s + WLAN) 2,4 W
stress –cpu 1 (Ethernet 1 GBit/s) 3,2 W
stress –cpu 2 (Ethernet 1 GBit/s) 3,9 W
stress –cpu 3 (Ethernet 1 GBit/s) 4,6 W
stress –cpu 4 (Ethernet 1 GBit/s) 5,2 W

Zusammengefasst benötigt der Raspberry Pi 3B+ im Leerlauf 1,6 Watt. WLAN zusätzlich macht 0,3 Watt aus, LAN je nach Geschwindigkeit 0,2 Watt (100 MBit/s) oder 0,5 Watt (1 GBit/s).

Stromverbrauch minimieren

Insbesondere beim mobilen Einsatz mit Batterien oder Akku ist eine möglichst lange Laufzeit wünschenswert. Mit einigen kleinen Tweaks kann der Stromverbrauch weiter reduziert und damit gleichzeitig die Laufzeit erhöht werden. Nichtsdestotrotz sollte man sich die Frage stellen, ob ein Raspberry Pi Zero W oder ein anderes älteres Modell eine bessere Alternative wären.

HDMI

Wenn kein Bildschirm verwendet wird, kann der HDMI-Port on-the-fly deaktiviert werden:

sudo tvservice -o

Dies spart ca. 20 mA, also 0,1 Watt. Wenn HDMI automatisch deaktiviert werden soll, kann dies z.B. über die “/etc/rc.local” erfolgen. Vor “exit 0” ergänzt man folgendes in der Datei:

# Disable HDMI
/usr/bin/tvservice -o

Eine schönere Alternative ist dies aber über die Datei “/boot/config.txt” zu erledigen:

disable_splash=1
hdmi_blanking=1
hdmi_ignore_hotplug=1
hdmi_ignore_composite=1

Damit die Änderungen aktiv werden ist ein Neustart notwendig.

LEDs

Des Weiteren können die Aktivitäts- und Power-LED deaktiviert werden. Dies geschieht ebenfalls über Einträge in der “/boot/config.txt“:

# Disable the ACT LED.
dtparam=act_led_trigger=none
dtparam=act_led_activelow=off

# Disable the PWR LED.
dtparam=pwr_led_trigger=none
dtparam=pwr_led_activelow=off

Nach einem Neustart lassen sich hier pro LED rund 5 mA sparen, insgesamt also 10 mA oder 0,05 Watt.

Bluetooth & WLAN

Die integrierte WLAN-Funktionalität kann im laufenden Betrieb deaktiviert werden:

sudo ifconfig wlan0 down

Wer WLAN und Bluetooth automatisch immer deaktiviert haben möchte, kann dies wiederrum über die “/boot/config.txt” erledigen:

# Disable Bluetooth and Wifi
dtoverlay=disable-wifi
dtoverlay=disable-bt

Darüber hinaus können nun die Services deaktiviert werden.

# Disable Services
sudo systemctl disable wpa_supplicant.service
sudo systemctl disable hciuart.service
sudo systemctl disable bluealsa.service
sudo systemctl disable bluetooth.service

Da die Services nun deaktiviert sind, werden die entsprechenden Kernelmodule auch nicht mehr benötigt. Diese können über die Datei “/etc/modprobe.d/raspi-blacklist.conf” entfernt werden. Dazu muss folgendes innerhalb der Datei ergänzt werden:

# Disable Bluetooth
blacklist btbcm
blacklist bnep
blacklist bluetooth
 
# Disable Wifi
blacklist 8192cu

USB & Ethernet

Einen wirklich großen Effekt erzielt die Deaktivierung des USB-Chips. Damit lassen sich rund 200 mA, respektive 1 Watt einsparen. Allerdings muss einem bewusst sein, dass damit automatisch auch das Ethernet deaktiviert ist, WLAN funktioniert aber weiterhin.

sudo echo '1-1'|sudo tee /sys/bus/usb/drivers/usb/unbind

Hat das Betriebssystem Einfluss auf den Stromverbrauch?

Angeregt durch einen Kommentar von tux. habe ich mir zudem den Stromverbrauch unter NetBSD / FreeBSD / OpenBSD angesehen. Leider wird der neue Raspberry Pi 3B+ noch nicht von allen BSD-Betriebssystemen vollständig unterstützt, sodass das Gerät nicht automatisch bootet und keine IP-Adresse per DHCP bezieht. In diesem Fall ist die Installation etwas aufwändiger. Abhilfe schafft entweder eine Tastatur und ein Bildschirm oder der Consolen-Zugang mit einem USB to TTL Serial Cable.

NetBSD / FreeBSD

Von NetBSD gibt es ein speziell auf Raspberry Pis angepasstes Image, den Download-Link findet ihr in Zeile 14. Zu beachten ist, dass das integrierte WLAN des Raspberry Pi 3B+ unter BSD aktuell nicht funktioniert.

Bei FreeBSD verwendet ihr am besten FreeBSD-12.0-RELEASE  oder FreeBSD-13.0-CURRENT. Hier gibt es jeweils spezielle Versionen (-RPI3) für den aktuellen Pi, die out-of-the-box laufen. Allerdings funktioniert auch hier das WLAN mangels entsprechendem Treiber nicht.

Raspberry Pi 3B+ Status Raspbian NetBSD FreeBSD
Idle (kein Ethernet oder WLAN) 1,6 W 1,9 W 1,7 W
Idle (Ethernet 100 MBit/s) 1,8 W 2,1 W 1,9 W
Idle (Ethernet 1 GBit/s) 2,1 W 2,5 W 2,2 W

Insgesamt betrachtet liegt der Stromverbrauch unter NetBSD und FreeBSD leicht höher als bei Raspbian.

Weitere Messungen

Alternative Messergebnisse inklusive Vergleichsmessungen zu älteren Raspberry-Pi-Modellen findet ihr bei RasPi.TV und Raspberry Pi Dramble.

Tobi

Hallo, mein Name ist Tobias und ich habe diesen Blog im April 2009 ins Leben gerufen. Seitdem blogge ich hier über Software, Internet, Windows und andere Themen, die mich interessieren. SSDblog ist mein zweiter Blog, indem es rund um das Thema SSDs geht. Ich würde mich freuen, wenn ihr meinen Feed abonniert oder mir auf Twitter und Facebook folgt.

19 Antworten

  1. Baron Münchhausen sagt:

    Super interessant. Annahme: Raspberry Pi mit Pi-Hole als DNS. Mittelwert ~3,5 Watt. Laufzeit 24h. Strompreis pro kWh = 20 Cent. Macht pro Tag 0,02 EUR. Pro Woche 0,12 EUR. Pro Monta 0,50 EUR. Im Jahr 6,13 EUR. Geschätzter Jahresverbrauch bei ca. 31 kWh (Quelle Stromverbrauch berechnen / Google). Auch wenn es im Schnitt nur 5-10 EUR pro Jahr sind, kann man tatsächlich ein wenig einsparen. Sollte man mit jedem Gerät daheim durchgehen. Danke für die Info.

  2. Didi sagt:

    Ich wundere mich, dass Dich tux noch nicht darüber belehrt hat, es gebe streng genommen keinen “Stromverbrauch”. Na, kommt sicherlich noch.

  3. tux. sagt:

    > Nichtsdestotrotz sollte man sich die Frage stellen, ob ein Raspberry Pi Zero W oder ein anderes älteres Modell eine bessere Alternative wären.

    Oder ein anderes, besseres Betriebssystem, das nicht diesen fetten Kernel und diesen hungrigen systemd-Rotz mitbringt.

    • Tobi sagt:

      Na dann muss ich das auf jeden Fall noch testen, ich denke nämlich, dass die Unterschiede sehr gering sind.

    • tux. sagt:

      Das hängt davon ab. Ich unterstelle, dass du auch mit Gentoo theoretisch halbwegs stromsparend arbeiten könntest, aber auf dem RPi was kompilieren ist, naja…

      Gerade NetBSD bringt ab Werk ja nicht viel mehr mit als den Kernel und pkgsrc. Da das Team sehr stark auf “embedded” fokussiert ist (anders als das Linuxteam), gehe ich von einer höheren Effizienz aus. NetBSD soll ja auf Geräten laufen, die zu schwach für Linux sind.

    • Tobi sagt:

      Habe die Ergebnisse für NetBSD und FreeBSD ergänzt.

    • tux. sagt:

      *hebt Augenbraue*

  4. Marco sagt:

    Ich habe in der oben genannten “/boot/config.txt” auch folgende Angabe gefunden.

    # Enable audio (loads snd_bcm2835)
    dtparam=audio=on
    start_x=0

    Kann man damit das Audiomodul ausschalten? Wie viel würde das sparen?

  5. Mario sagt:

    Hallo,
    Suber Beitrag. kann man USB und LAN auch über die Config.txt deaktivieren?
    ich habe Home Assistant als hass.io auf den Raspi, daher habe ich nur eingeschränkten Zugriff auf Systemfunktionen.
    lg

  6. Rojgar sagt:

    Nice information sharing

  1. 13. Mai 2020

    […] schalten wir den HDMI-Ausgang aus. Der wird nun wirklich nicht gebraucht. Damit sind wir bei 0,4 bis 0,44 Ampere. Ein Tick weniger. Wie das dauerhaft geht, steht hier. […]

Schreibe einen Kommentar

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