TEILEN

Der Stromverbrauch von Geräten mit dem aktuellen Sandy-Bridge Chipsatz von Intel ist unter Ubuntu Oneiric 11.10 alles andere als ideal. Das Problem liegt im Kernel 3.0 bzw 3.1, dieser fährt den Grafikteil der CPU bei Nichtgebrauch nicht mehr in den Ruhezustand RC-6, in dem die GPU dann nur sehr wenig Energie braucht. Der Ruhezustand der GPU wurde bewusst deaktiviert, weil man nicht ausschließen konnte, dass dieser nicht zu Problemen rund um die Grafik und die CPU führen kann. Weitere Information und Hintergründe zur Thematik gibt es etwa bei Heise, von daher erspare ich mir weitere Ausführungen an dieser Stelle.

Durch dieses Problem wird die Leistungsaufnahme nun deutlich nach oben getrieben, verschiedene Stellen sprechen von 30 bis 40% mehr Energieverbrauch und damit natürlich eine höhere Temperatur der CPU, schneller drehende und somit lautere Lüfter und logischerweise auch kürzere Akkulaufzeiten. Mit ein paar Kernel-Parametern kann man jedoch auch den Kernel 3.0 aus Ubuntu Oneiric dazu bringen die CPU in den gewünschten RC-6 Zustand zu versetzen, allerdings haben User anschließend von Problemen mit der Grafikausgabe berichtet. Es bleibt daher abzuwägen, ob der Tipp sich für alle Sandy-Bridge Notebooks/Deskops eignet.

Richtig ausführliche Tests zu den einzelnen Kernel-Parametern findet Ihr auf Phoronix, die Jungs haben verschiedene Tests gefahren und die Auswirkungen eines jeden der dort genannten Kernelparameter auf die Leistungsaufnahme wie auch die Performance untersucht. Allerdings kann auch Phoronix nicht sagen, welche Modelle durch die Tweaks Grafikprobleme aufweisen und welche nicht, von daher bleibt es euch überlassen das ganze selber zu testen.

Hast du einen Rechner mit Sandy-Bridge Chipsatz?

Ersteinmal würde ich sicher gehen ob ihr auch wirklich ein System mit Sandy-Bridge habt. Solltet euer Notebook ein paar Jahre alt sein, dann wird dies mit Sicherheit nicht der Fall sein. Habt ihr jedoch euren Rechner gerade erst oder vor ein paar Monaten gekauft und nicht gerade das günstigste Modell genommen, dann ist die Chance recht hoch, dass ihr einen Sandy-Bridge Rechner habt. Solltet ihr euch in dieser Richtung nicht sicher sein, dann schaut am besten via…

$ grep name /proc/cpuinfo
model name      : Intel(R) Core(TM) i7-2600K CPU @ 3.40GHz

…nach eurer CPU und schaut dann mit dieser Nummer in der Wikipedia nach, ob bei euch solch ein Chipsatz verbaut ist. Alternativ könnt ihr natürlich auch auf den Rechner sehen und nach dem passenden „Intel Core i“-Logo suchen. Auch hier hilft die Wikipedia wieder mit den passenden Logos aus.

Wie viel Schluckt die CPU aktuell?

Powertop

Als nächstes würde ich mir den aktuellen Stromverbrauch ansehen, nicht dass ihr später die Kernelparameter nutzt und vielleicht leichte Grafikprobleme bemerkt, die Einstellung aber letztendlich nichts bringt. Schaut daher entweder mit Powertop oder durch Auslesen von /proc/acpi/battery/BAT0/state nach, was die CPU aktuell schluckt. Lasst den Rechner dazu am besten ein Minütchen arbeitslos vor sich hin zuckeln.

$ powertop  # muss wahrscheinlich installiert werden
$ grep rate /proc/acpi/battery/BAT0/state
present rate:            14406 mW

Schreibt euch den Wert am besten kurz auf, so könnt ihr später dann vergleichen, ob es wirklich etwas gebracht hat. Powertop ist von Haus aus nicht auf einem Ubuntu-System installiert, ihr könnt die Anwendung jedoch über das gleichnamige Paket bequem aus der Paketverwaltung heraus installieren.

Die Kernel-Parameter setzen

Nun wo hoffentlich alles Infos beisammen sind, könnt ihr die eigentlichen Einstellungen vornehmen. Öffnet dazu die Datei /etc/default/grub in euren bevorzugten Editor mit Root-Rechten…

$ sudo gedit /etc/default/grub

…und sucht euch diese Zeile heraus…

...
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
...

…dort fügt ihr dann erstmal die Parameter quiet splash pcie_aspm=force acpi=noirq i915.i915_enable_rc6=1 an. Das Ganze lässt sich noch entsprechend anpassen, es sind aber die Optionen, die nach dem Bug her am besten funktionieren. Probiert es daher erstmal mit dieser Kombination.

...
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pcie_aspm=force acpi=noirq i915.i915_enable_rc6=1"
...

Abschließend muss das noch mit einem…

sudo update-grub

…in die Konfiguration von Grub geschrieben werden. Startet danach euren Rechner neu und überprüft erneut über Powertop oder den oben genannten Befehl die aktuelle Leistungsaufnahme des Systems. Ihr solltet jetzt Einsparungen zwischen 30 und 40% feststellen können. Ich bin mal gespannt was ihr berichtet, da ich kein Gerät mit diesem Chipsatz besitze, kann ich das leider nicht selber ausprobieren.

Weitere Kernelparameter

Oben habe ich ja schon den Beitrag auf Phoronix erwähnt, die alle in diesem Zusammenhang relevanten Kernelparameter i915.i915_enable_rc6=1, i915.i915_enable_fbc=1, i915.lvds_downclock=1 ausgetestet haben. Die einzelnen Optionen können für weitere Verbesserung sorgen, eventuell führen sie aber zu zusätzlichen Abstürzen oder Grafikproblemen. Daher würde ich die Optionen nach und nach einfügen und austesten, ob sie sich mit dem System vertragen.

i915.i915_enable_rc6=1 – RC6 was enabled by default for a while, but then it ended up being too buggy for some hardware configuration so it had to be disabled. For affected systems on the current code-base, enabling RC6 can cause GPU hangs. The Intel RC6 feature allows the GPU to enter a lower power state when the GPU is idling.

i915.i915_enable_fbc=1 – This kernel option enables FBC (frame-buffer compression) for the Intel graphics driver. Frame-buffer compression is not enabled by default since for some systems when frame-buffer compression is active there is a bug where the screen is not being properly repainted when using a compositing window manager. As implied by the name, frame-buffer compression will compress the buffer of what’s to be drawn to the screen so that less memory bandwidth is used on screen refreshes, and as a result, less memory being confused.

i915.lvds_downclock=1 – This kernel option will down-clock the LVDS refresh rate, which can increase power savings as a result. However, for systems that do not properly support LVDS down-clocking, the screen can begin to flicker during use.

Ob das Ganze was bringt und ob es zu Seiteneffekten kommt, kann ich an dieser Stelle nicht ausprobieren. Ich wäre happy wenn ihr an dieser Stelle ein bisschen Feedback bekommen könnte, besonders Interessant sind natürlich eure Ergebnisse bzgl. des Stromverbrauchs und ob es zu Problemen mit der Grafikausgabe oder zu Abstürzen kommt.

Anzeige

100 KOMMENTARE

  1. Funktioniert mit allen Parametern auf einem Thinkpad Edge E320 unter Debian Wheezy.
    Stromverbrauch auf dem Thinkpad ist hier zu finden : cat /sys/class/power_supply/BAT1/power_now
    Der Verbrauch ist nach dem Neustart von 33799000 auf die Hälfte gefallen.
    Danke!

  2. Hallo Christoph,

    weißt du, ob diese Einstellungen auch mit IvyBridge-Prozessoren funktionieren?
    Im speziellen Fall Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz.

    Danke für eine Antwort.

    frieda

  3. Die Zahlen, die Anonymous am 17. Januar 2012 um 21:08 Uhr nach dem Tunen reported habe ich auf

    hille@haka:~$ less -X /etc/debian_version
    7.5

    auch ohne Änderungen. Gab es Fixes in Linux 3.2?

  4. Vielen Dank für deinen Eintrag.
    Bei mir hat es aber leider nicht funktioniert:
    ich habe einen ASUS N55S mit Intel Core i7-2670QM ( also mit sandy bridge) und mit externer Graphikarte (NVIDIA GT555M) und UBUNTU 14.04
    Nach zufügen von „pcie_aspm=force acpi=noirq i915.i915_enable_rc6=1“ in die grub datei bootet er zwar, aber die Tastatur ist deaktiviert, kein login möglich. Erst nach einem Neustart im Recovery Modus und anschließendem zurückverändern geht es wieder.

HINTERLASSEN SIE EINE ANTWORT