Energieverbrauch von Software und Betriebssystemen

Motivation

Wie das Umweltbundesamt(UBA) auf dem 36c3 mitteilte, wurde mit Beschluss vom Dezember 2019 die Umweltauszeichnung "Blauer Engel" auch für Software eingeführt.

Dabei hat das UBA Kriterien und Methodik entwickelt, um die Umwelt- und Klimafreundlichkeit von Software zu beurteilen. Diese wird im

Abschlussbericht des UBA

beschrieben. Dabei spielt der Energieverbrauch von Software eine wesentliche Rolle (wobei streng genommen nicht die Software Energie verbraucht, sie weist aber die Hardware an Tätigkeiten auszuführen und damit Energie zu verbrauchen.)

Das UBA hat zunächst nur einzelne Anwendungsprogramme getestet, das darunter liegende Betriebssystem aber nicht beachtet. Dabei kann das Betriebssystem und die vorhandenen Standardbibliotheken einen wesentlichen Einfluss auf den Energieverbrauch haben. In der vorliegenden Arbeit wurden daher Messungen des gesamten Betriebssystems inklusive einer Anwendung vorgenommen.

Methodik

Hardware

Um vergleichbare Ergebnisse zu bekommen muss die Hardware so identisch wie möglich sein. Die Virtualisierung bietet die Möglichkeit, identische virtuelle Maschinen (VM) - also simulierte Hardware - zu erstellen und diese bei Bedarf zu klonen.

Das physikalische Hostsystem war für alle Systeme dasselbe: ein Intel Core i3-2120 mit 10 GB RAM. Das Betriebssystem war ein GNU/Linux System auf Basis von Arch Linux. Es wurde sichergestellt, dass keine dynamischen Prozesse liefen, die plötzlich Ressourcen anfordern konnten und somit das Ergebnis verfälschen können.

Als Virtualisierungssoftware wurde qemu-kvm mit libvirtd als Middleware gewählt. Die Erstellung und Ausführung der VM wurde mit dem Programm virt-manager vorgenommen.

Für die VM wurde identische, virtuelle Hardware gewählt: 2 Prozessor-Kerne mit 4 GB RAM und eine SATA-Festplatte. Die Auflösung des grafischen Oberfläche wurde zwecks Vergleichbarkeit für alle Systeme auf 1024x768 eingestellt.

Messsoftware

Unter Linux steht folgende Software zur Erfassung von Energieverbrauch zur Verfügung: powertop, cpu-energy-meter, powergadget und s-tui. Letztere 3 sind dabei fähig, den Running Average Power Limit (RAPL) von Intel CPUs auszulesen. RAPL steht leider nur für Intel CPUs zur Verfügung.

Am geeignetsten hat sich dabei das Tool

powergadget

erwiesen, welches von Intel selbst stammt.

Die Messungen wurden dabei nicht in der VM selbst, sondern auf dem physikalischen Host ausgeführt.

Getestete Software / Betriebssysteme

Für alle Systeme gilt: Es wurde immer die Standardinstallation verwendet und es wurden keine Optimierungen vorgenommen, die über Abfragen bei der Installation hinaus gingen.

Windows 10

Es wurde eine Standardinstallation von Windows 10 1903 Home durchgeführt. Alle Fragen zur Datenerfassung wurden negativ beantwortet, darüber hinaus wurden jedoch keine Optimierungen vorgenommen, um Telemetrie oder andere Hintergrund-Tätigkeit zu verhindern. Es wurde ein so genanntes Offline-Konto verwendet, kein Microsoft-Konto

Linux/Unix

Es wurden folgende unixoide Betriebssysteme getestet:

Der MATE Desktop wurde gewählt, weil er relativ ressourceneffizient ist, eine weite Verbreitung hat und auf allen unixoden Systemen verfügbar ist. Mit Antix wurde eine Linux-Distribution für ressourcenschwache Computer mit dem schlanken Window-Manger IceWM gewählt um zu sehen, ob die Verwendung eines solchen schlanken Systems auch Vorteile im Energieverbrauch hat.

Browser

Hier wurde der Firefox Webbrowser ausgewählt, weil er für alle Systeme verfügbar ist.

Mess-Szenarien

Es wurden für jedes System mindestens 3 Messungen für folgende Szenarien durchgeführt:

Das System ist gestartet,jedoch werden keinerlei Anwendungsprogramme ausgeführt und keine Eingaben vorgenommen. Die Messdauer betrug jeweils 10 Minuten

Im Webbrowser wurde ein HD-Video von Youtube mit 720p abgespielt (der freie Animationsfilm "Big Buck Bunny"). Währenddessen wurde ein 10-minütige Messung vorgenommen. Nach jeder Messung wurde der Browser-Cache geleert.

Insgesamt wurden 38 Messungen über je 10 Minuten durchgeführt.

Ergebnisse

Hostsystem

Zunächst wurden Messungen am physikalischen Hostsystem ohne laufende VM vorgenommen, um festzustellen, wie viel Energie das System selbst verbraucht. Der gemittelte Wert betrug hier 576 mWh für 10 Minuten.

Windows 10 Home 1903

Anmerkung: Bedingt durch zahlreiche Hintergrundaktivitäten (AV-Scanner, Telemetrie) lieferte Windows die ungleichmäßigsten Ergebnisse von allen Betriebssystemen. Daher wurden für dieses System die meisten Messungen durchgeführt, um einen möglichst nahe an der Realität liegenden mittleren Wert zu erhalten

Inaktivität (ohne aktive Anwendungsprogramme und Eingaben)

Die Messergebnisse lieferten hier einen mittleren Wert von 1053 mWh für 10 Minuten. Dies ist der mit Abstand höchste Wert für alle OS für den inaktiven Zustand. Die Bandbreite betrug hier 1029 - 1078 mWh.

10 Minuten Youtube HD Video in Firefox

Die Messergebnisse lieferten hier einen mittleren Wert von 3223 mWh. Die Bandbreite war hier stark schwankend, zwischen 2870 und 3838 mWh.

Debian 10 mit MATE Desktop

Inaktivität (ohne aktive Anwendungsprogramme und Eingaben)

Die Messergebnisse lieferten hier einen mittleren Wert von 601 mWh für 10 Minuten. Dies ist der niedrigste Wert für alle OS für den inaktiven Zustand. Die Bandbreite betrug hier 599 - 601 mWh.

10 Minuten Youtube HD Video in Firefox

Die Messergebnisse lieferten hier einen mittleren Wert von 2759 mWh. Die Bandbreite lag zwischen 2741 und 2796 mWh.

Antix-runit mit IceWM

Inaktivität (ohne aktive Anwendungsprogramme und Eingaben)

Die Messergebnisse lieferten hier einen mittleren Wert von 612 mWh für 10 Minuten. Die Bandbreite lag zwischen 598 und 621 mWh.

10 Minuten Youtube HD Video in Firefox

Die Messergebnisse lieferten hier einen mittleren Wert von 2625 mWh. Dies ist der niedrigste Wert für 10 Minuten Youtube. Die Bandbreite lag zwischen 2586 und 2654 mWh.

OpenBSD 6.6 mit MATE Desktop

Inaktivität (ohne aktive Anwendungsprogramme und Eingaben)

Die Messergebnisse lieferten hier einen mittleren Wert von 632 mWh für 10 Minuten. Die Bandbreite lag zwischen 630 und 634 mWh.

10 Minuten Youtube HD Video in Firefox

Die Messergebnisse lieferten hier einen mittleren Wert von 3880 mWh. Dies ist der höchste Wert für 10 Minuten Youtube. Die Bandbreite lag zwischen 3793 und 3971 mWh.

GhostBSD 19.10 mit MATE Desktop

Inaktivität (ohne aktive Anwendungsprogramme und Eingaben)

Die Messergebnisse lieferten hier einen mittleren Wert von 645 mWh für 10 Minuten. Die Bandbreite lag zwischen 635 und 660 mWh.

10 Minuten Youtube HD Video in Firefox

Die Messergebnisse lieferten hier einen mittleren Wert von 2965 mWh. Die Bandbreite lag zwischen 2957 und 2978 mWh.

Zusammenfassung und Fazit

Ergebnis

┌──────────┬────────┬───────────┬───────┬─────────┬──────────┬─────────┐
│ Szenario │ Win 10 │ Debian 10 │ Antix │ OpenBSD │ GhostBSD │         │
╞══════════╪════════╪═══════════╪═══════╪═════════╪══════════╪═════════╡
│ Inaktiv  │ 1053   │ 601       │ 612   │ 632     │ 645      │ mWh/10m │
├──────────┼────────┼───────────┼───────┼─────────┼──────────┼─────────┤
│ Youtube  │ 3223   │ 2759      │ 2654  │ 3880    │ 2965     │ mWh/10m │
└──────────┴────────┴───────────┴───────┴─────────┴──────────┴─────────┘

Schlussfolgerung

Da ich die Messreihe als Privatperson durchführte und mir kein Labor zur Verfügung steht, ist die Datenbasis nicht sehr umfangreich. Dennoch erlaubt das Ergebnis eine erste Einschätzung.

Aus ökologischer und klimapolitischer Sicht ist GNU/Linux das geeignetste Betriebssystem. Auch FreeBSD ist noch vertretbar. Aber auch bei diesen Systemen ist darauf zu achten, nicht zu viele (Hintergrund-)Prozesse auszuführen.