Registrierung
leer
leer
newposts
Users
search
FAQ
Login
Start

Hallo Gast, und Willkommen im Forum. Sie müssen sich einloggen oder registrieren, um alle Funktionen nutzen zu können.


PN's Forum \ Computer \ Software \ Betriebssysteme \ Linux \ Intels TurboBoost (Nehalem und Sandy Bridge) unter Linux zum Funktionieren bringen


 Poison Nuke  *

#1 Verfasst am 14.04.2011, um 18:07:36



Wer einen Intel Core i5 / 7 oder Intel Xeon ab der Nehalem Generation sein Eigen nennt und darauf ein Linux laufen hat, hat eventuell schon mal festgestellt dass der TurboBoost nicht wirklich funktioniert, zumindest meistens nicht.
betrifft also folgende CPU Architekturen:
Nehalem, Westmere, Gulftown, Bloomfield, Lynnfield, Sandy Bridge

und viele werden sich wohl schon die Finger bei Google wund gesucht haben und immer nur irgendwelchen halblangen Vorschläge gefunden haben, die allesamt kaum etwas bringen, bzw die wenigsten haben immer nur Vermutungen geäußert, nie aber echte Lösungen präsentiert.



Zwei Punkte sind wichtig, die man beachten muss:

1.
- ACPI muss aktiv sein, genauso wie die C-States und C1E Support, und in jedem Fall muss EIST (Enhanced Intel SpeedStep) aktiv sein
- es muss der CPUfreqD laufen, das ist ein Deamon der im Hintergrund läuft, welcher die Taktrate der CPU anpasst, je nach Bedarf und Energieeinstellung



Auf den Stromverbrauch hat das Heruntertakten der CPU übrigens NULL Einfluss. Auch wenn ohne CPUfreqd alle Cores auf voller Taktrate laufen, verbraucht die CPU kein Watt mehr an Strom, da die eigentliche Stromeinsparung durch die C-States kommt, also dem teilweise oder ganzem Abschalten einzelner CPU-Kerne. Wer also einen Laptop hat und bisher kein cpufreqd laufen hatte, brauch sich keine Hoffnung machen, dass er damit eine längere Akkulaufzeit bekommt. Vielleicht ein paar Minuten, aber mein Messgerät kann nur "ganze" Watt messen.


2.
- auch wenn TurboBoost aktiv ist und auch arbeitet, man sieht es nicht, egal mit welchem Tool. Selbst i7z, welches speziell von Google für die Nehalem Core i7 entwickelt wurde als eine Art besseres CPUz, zeigt nicht an wenn die CPU im Turbo-Modus ist.




woran erkennt man ob TurboBoost aktiv ist oder nicht?

Quellcode
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies


wenn diese Datei nicht existiert, dann ist der cpufreqd nicht aktiv und muss entsprechend erst installiert werden.

Wenn sie existiert, sind die ersten beiden Zahlen wichtig. Im Falle eines Intel Xeon L3426 als Bespiel

Quellcode
#cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
1868000 1867000 1733000 ... 

wenn TurboBoost aktiv ist, dann hat man zwei fast identische Werte stehen, der erste ist genau um 1000 größer als der zweite. Wenn das so ist, dann ist TurboBoost aktiv.
Andernfalls fehlt die erste Zahl in dem Beispiel hier und man hat direkt einen recht großen Frequenzsprung zwischen erstem und zweiten Wert.

Im Falle eines Intel Core i7-2600 würde das so aussehen:

Quellcode
#cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
3401000 3400000 3200000 30000000 ... 

wäre TurboBoost nicht aktiv würde es hingegen so aussehen:

Quellcode
#cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
3400000 3200000 30000000 ... 



weiterhin erkennt man die Aktivität von cpufreqd auch folgendermaßen. Ist er im Falle eines Xeon L3426 aktiv, sieht folgende Ausgabe so aus, wenn ein Core belastet wird :

Quellcode
# cat /proc/cpuinfo | grep MHz
cpu MHz       : 1200.000
cpu MHz       : 1200.000
cpu MHz       : 1200.000
cpu MHz       : 1200.000
cpu MHz       : 1200.000
cpu MHz       : 1866.000
cpu MHz       : 1200.000
cpu MHz       : 1200.000



Andernfalls sieht man hier bei allen Cores die maximale Frequenz. Wenn gar nichts läuft sollten alle auf 1200 oder bei anderen CPUs oft auch 1600MHz oder so laufen.




Wie aktiviert / installiert cpufreqd

Debian Squeeze / Lenny

Quellcode
apt-get install cpufrequtils

Bei Lenny ist danach ein reboot nötig, bei Squeeze geht es sofort.


Gentoo

Quellcode
modprobe acpi-cpufreq

das muss nach jedem Reboot ausgeführt werden. Einen anderen Weg hab ich bisher noch nicht gefunden. Auf diese Weise funktioniert es auch mit einigen anderen Distributionen.




greetz
Poison Nuke

PN's Forum \ Computer \ Software \ Betriebssysteme \ Linux \ Intels TurboBoost (Nehalem und Sandy Bridge) unter Linux zum Funktionieren bringen


- Zurück zur Homepage - Eigene Beiträge - Neue Beiträge - Wer ist online? - Impressum - Datenschutz - Statistiken -



Board coded and provided by: Poison Nuke
Copyright 2007-2014, Robert Menger