Undervolting - Haswell and newer Intel

dsred

New member
Registriert
17 Juli 2011
Beiträge
328
Liebe Linux-Thinkpadler mit relativ neuer Intel CPU,

bei dem einen oder anderen von euch dürfte sicher auch das Kühlsystem der neueren Thinkpads auf Kante kalkuliert sein (wie z.B. der i7 in meinem T470s).

Durch etwas Suche bin ich auf diesen Beitrag gestoßen und wollte euch daran teilhaben lassen:

https://github.com/mihic/linux-intel-undervolt

Ich muß ehrlich zugeben, dass mir die Zeit dazu fehlt, mir das genauer anzusehen, und ich verstehe auch nicht, warum ich vier Register zu setzen habe (zwei für CPU und GPU leuchtet mir noch ein), evtl. mag das einer von euch aufdröseln), aber ich kann euch berichten, dass das relativ gut funktioniert.

Wie hier https://thinkpad-forum.de/threads/206089-Erfahrungsbericht-Vom-X220-zum-T470s zu lesen, reduziert mein i7-7600U im Normalzustand nach etwa 30 sec seinen maximalen Multiplikator zwischen 36x/37x. Durch setzten eines Voltage-Offsets, bleibt der Multiplikator aufgrund der reduzierten Abwärme länger stabil. Selbst nach 15 Min liegt bei mir bei einem scheinbar stabilen Offset von -70mV immer noch ein Multiplikator von ca 38.7x an. Bei vier Threads komme ich dann auf einen Multiplikator von etwa 33.3x.

Evtl. möchte das einer von euch ja ausprobieren und hier berichten. Was ihr benötigt sind die tools msr-tools (zum Setzten der Register), i7z (zum Auslsen der Multiplikatoren), python (falls ihr andere Offsets "errechnen" wollt) und ein Programm zum Stabilitätstest.

Aus oben genannter Quelle noch kurz ein script getackert. Wenn das stabil läuft, dann kann man das Ganze auch in einen rc-local Dienst packen und fertig ist der Fisch.

Ich freue mich auf eure Erfahrungen: "How low can you go..."

Code:
#!/bin/bash
#python code: hex((int(round(-70*1.024))<<21) +16**8)
/usr/bin/logger  "Adjusting voltage negative offset -70mV ...    "
/usr/bin/wrmsr 0x150 0x80000011F7000000 
/usr/bin/wrmsr 0x150 0x80000111F7000000
/usr/bin/wrmsr 0x150 0x80000211F7000000
/usr/bin/wrmsr 0x150 0x80000311F7000000
/usr/bin/logger  "            ...... done."

gruß dsred

P.S. Hier noch der Hinweis, das ihr damit natürlich an der Spannung eurer CPU herumspielt und ich natürlich für keine Schäden, die im Zusammenhang mit diesen Versuchen stehen (z.B. Datenverlust / Hardwardefekt), eine Haftung / Schadensersatz usw. übernehme. Also Ausprobieren auf eigene Gefahr!
 
Interessant, dass Intel wieder MSR zum herumspielen anbietet. Normalerweise sind diese bei Mobil-CPUs gelockt, verdongelt, vermint und undokumentiert. Hätte ich eine solche CPU, würde ich das sofort ausprobieren :D

Man sollte sich aber bewusst sein, dass das Setzen von MSR ein Eingriff in eine sehr tiefe Hardwareebene ist und mit viel Vorsicht vorzugehen ist.
 
@NonesensE
Danke für den Link. Ich schaue den bei Gelegenheit durch

@haarp
Ja ich finde diese option auch sehr "sexy". Aber Du hast mit Deiner Warnung natürlich vollkommen recht und es ist sicher richtig, nochmals explizit darauf hinzuweisen.

Mich persönlich würden sehr eure Erfahrungen mit den mobilen CPU in den Thinkpads interessieren, damit man eine Idee davon bekommt, was man so als "GUP" (good undervolting practice) annehmen kann.

viele grüße,
dsred
 
Da kannst du dich bedenkenlos an den Erfahrungen mit Throttlestop und Intel XTU orientieren, unter Windows geht das ja schon länger und die Lösung für Linux war einfach, nachzuvollziehen, was Throttlestop unter Windows macht. Jeder muss aber für sein Exemplar einer CPU selbst herausfinden, welcher Wert stabil ist. Die Werte, die ich gelesen habe, lagen grob zwischen 50 und 150 mV, mein I5 5###U ES läuft mit -72mV.
Die vier Register dürften die Offsets für verschiedene CPU Bereiche sein, die man getrennt voneinander einstellen kann. Core, Cache und noch irgendwas, im CPUID hwmonitor werden bei mir jedenfalls vier Offsets angezeigt (von denen drei gesetzt sind, da muss ich mich nochmal mit throttlestop auseinandersetzen).
 
Cool, endlich undervolten ohne Aufwand unter Linux. Danke.

Hier stürzt das T460s mit i7-6600U bei -120mV relativ schnell ab, bei -100mV läuft es bisher ohne Fehler (youtube + mprime). Werde es wohl auf -80mV stellen um etwas Reserve zu haben.
 
Cool, endlich undervolten ohne Aufwand unter Linux. Danke.

Hier stürzt das T460s mit i7-6600U bei -120mV relativ schnell ab, bei -100mV läuft es bisher ohne Fehler (youtube + mprime). Werde es wohl auf -80mV stellen um etwas Reserve zu haben.

Ziemlich identisches Ergebnis hier mit dem i7-7600U: Bei -100mV scheint der noch stabil zu sein (2h mprime). Wie bei Dir gehe ich auch auf -80mV, um etwas Puffer für kritische Berechnungen zu haben und beobachte das Ganze jetzt mal die nächsten Wochen. Auf jeden Fall schöpft das T470s damit den max. Multiplikator deutlich länger aus:thumbup:

Gruß dsred
 
ist es legitim, 6 Monate alte Threads weiterzuführen?

Hab seit gestern mein neues T470p:
- 2.9Ghz Dauertakt (mprime)
- 3.3Ghz Dauertakt @ -150mV

hier mal i7z:

Core [core-id] :Actual Freq (Mult.) C0% Halt(C1)% C3 % C6 % Temp
Core 1 [0]: 3365.40 (33.58x) 99.8 0 0 0 97
Core 2 [1]: 3365.41 (33.58x) 99.8 0 0 0 85
Core 3 [2]: 3365.41 (33.58x) 99.8 0 0 0 95
Core 4 [3]: 3365.40 (33.58x) 99.8 0 0 0 86

was mich irritiert: die Temperatur von Core 1 und 3 ist locker 10C über der von Core 2 und 4; wie kann das sein? Lohnt sich hier eventuell neue WLP?

Ein T440p mit i7-4702MQ hab ich von 2.2Ghz @ 95C auf 2.3Ghz @85C (-75mV) stabil bekommen -- dort spielt anscheinend noch etwas anderes eine Rolle, da die Temperatur anscheinend nicht mehr am Limit ist.

Ich benutze übrigens https://github.com/kitsunyan/intel-undervolt.git , dort findet man fertige Shell-Skripte und spart sich das Bitgeschiebe.
 
Zuletzt bearbeitet:
  • ok1.de
  • ok2.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben