PHC Undervolting Thread

buddabrod

New member
Registriert
15 Juni 2007
Beiträge
3.740
Hallo zusammen,

da ich meine VIDs noch ein wenig gedrückt hatte, dachte ich es wäre eine gute Idee, einen Sammelthread was Installationsanleitungen angeht sowie vielleicht eine CPU Liste mit funktionierenden Spannungsstufen zu erstellen.

Vielleicht versinkt der Thread aber auch schon bald :D

Also erstmal für:

  • Fedora 14 (und auch Fedora 13)

Kernel 2.6.37 installieren (Stromsparender als der default 2.6.35)
Code:
mkdir -p PHC/kernel-2.6.37 && cd PHC/kernel-2.6.37

# Pakete von koji (fedora Buildserver) herunterladen

#### 32-bit ####

wget [url]http://kojipkgs.fedoraproject.org/packages/kernel/2.6.37/2.fc15/i686/kernel-2.6.37-2.fc15.i686.rpm[/url]
wget [url]http://kojipkgs.fedoraproject.org/packages/kernel/2.6.37/2.fc15/i686/kernel-devel-2.6.37-2.fc15.i686.rpm[/url]
wget [url]http://kojipkgs.fedoraproject.org/packages/kernel/2.6.37/2.fc15/i686/kernel-headers-2.6.37-2.fc15.i686.rpm[/url]
wget [url]http://kojipkgs.fedoraproject.org/packages/kernel/2.6.37/2.fc15/i686/perf-2.6.37-2.fc15.i686.rpm[/url]

#### 64-bit ####

wget [url]http://kojipkgs.fedoraproject.org/packages/kernel/2.6.37/2.fc15/x86_64/kernel-2.6.37-2.fc15.x86_64.rpm[/url]
wget [url]http://kojipkgs.fedoraproject.org/packages/kernel/2.6.37/2.fc15/x86_64/kernel-devel-2.6.37-2.fc15.x86_64.rpm[/url]
wget [url]http://kojipkgs.fedoraproject.org/packages/kernel/2.6.37/2.fc15/x86_64/kernel-headers-2.6.37-2.fc15.x86_64.rpm[/url]
wget [url]http://kojipkgs.fedoraproject.org/packages/kernel/2.6.37/2.fc15/x86_64/perf-2.6.37-2.fc15.x86_64.rpm[/url]

# Pakete installieren

yum install --nogpgcheck kernel*.rpm perf*.rpm

# System mit dem neuen kernel neustarten!
/sbin/reboot

PHC Module bauen und installieren (falls make etc nicht installiert sind: yum groupinstall "Development Tools")
Code:
cd PHC

wget [url]http://www.thinkpad-forum.de/index.php?page=Attachment&attachmentID=41606&h=7e18fabfa11f8be746f47c566809f9ffe1140bd1[/url]
unzip phc-intel-0.3.2-12-1.zip
cd phc-intel-3.2.12-1

./prepare.sh 2.6.37
make
make install

# Neustarten, damit die Module geladen werden können
/sbin/reboot

PHCTool herunterladen (svn muss installiert sein: yum install subversion)
Code:
cd PHC
svn co [url]http://phctool.googlecode.com/svn/trunk/[/url] phctool

cd phctool

# phctool patchen
wget [url]http://www.thinkpad-forum.de/index.php?page=Attachment&attachmentID=41607&h=85ebdfc6bcf82140494f24aee2373737048536ef[/url]
unzip cpuinfo.zip -d inc/libs/

# phctool starten
./phctool.py

Damit sollte alles erledigt sein.

Nun kann man mit den Spannungen experimentieren, wobei meine Vorgehensweise so aussieht:

Code:
cd PHC

#### 32-bit ####
wget [url]http://mersenneforum.org/gimps/mprime265.tar.gz[/url]

#### 64-bit ####
wget [url]http://mersenneforum.org/gimps/mprime265-linux64.tar.gz[/url]

tar xvf mprime*.tar.gz

./mprime
Dort 15 eingeben (für Options/Torture Test)
Thread nach CPU Core-Anzahl richten und Option 2 (In-place large FFTs) auswählen.

Um die einzelnen VIDs anzupassen, wird z.B. der cpufreq-set der Takt manuell begrenzt: für 1.6GHz sieht das so aus:
cpufreq-set -u 1.6G (evtl. muss man beide Cores einzeln setzen, dann jeweils mit -c0 bzw. -c1 etc anhängen).

Vorher per "yum install cpufrequtils" entsprechendes Paket installieren.

Für jede Takstufe VIDs reduzieren, dabei immer mprime einige Minuten laufen lassen und hoffen, dass mprime keine Fehler zeigt bzw. das System nicht abschmiert ;)

Nebenbei überwache ich die Temperatur in einem zweiten Terminal: watch -n1 cat /proc/acpi/ibm/thermal



Für meinen T7500 ergaben sich somit folgende Werte:
  • T7500
Code:
Frequenz -- VID -- Spannung -- Urspr. Spannung

2201MHz -- 28 -- 1.0625V -- 1.2750V  (Turbo Modus, nutze ich aber nicht)
2200MHz -- 26 -- 1.0375V -- 1.2500V
1600MHz -- 13 -- 0.8750V -- 1.0625V
1200MHz -- 12 -- 0.8625V -- 0.9375V
 800MHz -- 11 -- 0.8500V -- 0.8500V (nicht konfigurierbar)

Die entsprechenden VIDs setze ich beim Booten per /etc/rc.local:
Code:
echo "28 26 13 12 11" > /sys/devices/system/cpu/cpu0/cpufreq/phc_vids
echo "28 26 13 12 11" > /sys/devices/system/cpu/cpu1/cpufreq/phc_vids
ACHTUNG: Wenn die Werte zu niedrig sind, kann es sein, dass das System nicht richtig bootet! Dann muss z.B. ein anderer kernel ohne PHC gebootet werden und die Werte nach oben korrigiert werden.


So, jetzt bin ich erstmal fertig.

Bitte um Vorschläge, Kritik etc.
 
Astrein, genau das hab ich fuer FC14 heut morgen gesucht, werde ich mal testen.
 
Für Ubuntu:

http://openmindedbrain.info/09/05/2010/undervolting-in-ubuntu-10-04-lucid-lts/
http://openmindedbrain.info/26/10/2010/undervolting-in-ubuntu-10-10-maverick/

Außerdem muss man vor dem PHC-Modulbau noch "patch" installieren (zumindest bei 10.04.1 nicht standardmäßig dabei, aber per apt-get beziehbar).

Auf der Openmindedbrain-Seite findet man ein Skript, das von selber geeignete Spannungen ermittelt und in eine Datei speichert. Allerdings funktioniert das nicht 100-prozentig zuverlässig, da Ubuntu dann häufig nach kurzer Zeit wieder auf den eigenen CPU-Regler schaltet und die Festlegung auf eine FID vergisst, was die Ergebnisse natürlich verfälscht.
 
IronEagle' schrieb:
Astrein, genau das hab ich fuer FC14 heut morgen gesucht, werde ich mal testen.
Ich bitte dann um Rückmeldung, ich habe es nämlich nur aus dem Kopf getippt.. :whistling:

Von den auto-scripts halte ich nicht viel.. wenn man das manuell macht, kann man kurz vor einem Absturz einen mprime Fehler sehen und evtl. noch die Spannung zurücksetzen.

Lieber investiere ich da 10min. selbst rum und weiß, was ich warum eingestellt habe :D

Ins wiki kommt das erst, wenn es Testberichte gibt (dafür habe ich gerade keine Lust xD) und wenn ich meine Klausuren geschrieben habe.
 
Ja das sehe ich aehnlich. Ich werde vermutlich im Laufe der naechsten Woche zum testen kommen und gebe natuerlich Feedback :)
 
elarei' schrieb:
Für Ubuntu:

http://openmindedbrain.info/09/05/2010/undervolting-in-ubuntu-10-04-lucid-lts/
http://openmindedbrain.info/26/10/2010/undervolting-in-ubuntu-10-10-maverick/

Außerdem muss man vor dem PHC-Modulbau noch "patch" installieren (zumindest bei 10.04.1 nicht standardmäßig dabei, aber per apt-get beziehbar).

Auf der Openmindedbrain-Seite findet man ein Skript, das von selber geeignete Spannungen ermittelt und in eine Datei speichert. Allerdings funktioniert das nicht 100-prozentig zuverlässig, da Ubuntu dann häufig nach kurzer Zeit wieder auf den eigenen CPU-Regler schaltet und die Festlegung auf eine FID vergisst, was die Ergebnisse natürlich verfälscht.

Die wollte ich heute auch schon posten, die sind super.

Nur man sollte eventuell danach nochmal den mprime längere Zeit drüber "donnern" lassen, oder stress -c <threadanzahl> der macht das System richtig fertig :D
(Die Tests von dem Skript sind doch sehr kurz).

Bei meinem HP 2510p gibts ein Manko: Man kommt unter eine gewisse Voltzahl nicht hinunter, phc glaubt aber, dass dies ginge. Das verwirrt das Skript, wenn am Ende alle Steps auf 0 laufen .. kommt dann auch ein Fehler "Don't believe that ..."

Leider fehlt so ein Skript noch für AMD, aber das würde sich schnell anpassen lassen - es sind da nur die VID - Steps in anderer Reihenfolge. (Bei Intel glaub: Von Rechenstärkster -> schwächster Stufe, AMD vice versa). <- war bisher zu faul dazu! :D

@buddabrod danke für mprime, ich suchte lange nach einem Ersatz für wPrime unter Windows, nie was gefunden für Unix. Bisher benutzte ich immer stress -c <threadzahl> was das System weit mehr zum Kochen bringt als wPrime das konnte ;)
 
Evilandi666' schrieb:
@buddabrod danke für mprime, ich suchte lange nach einem Ersatz für wPrime unter Windows, nie was gefunden für Unix. Bisher benutzte ich immer stress -c <threadzahl> was das System weit mehr zum Kochen bringt als wPrime das konnte ;)
Vergleich mit stress vs. mprime:

stress -c 2 bringt das System mit Lüfter auf Stufe 1 auf 57°C
mprime bringt das System mit Lüfter auf Stufe 1 auf 63°C :D

Der Vorteil an mprime ist eben auch, dass es einem direkt anzeigt, wenn die cpu anfängt sich zu verrechnen :)

Edit: irgendwie glaube ich, mein Lüfter hat auch ne Macke..

PASSIV-TEST: :D
stress -c 2 Lüfter aus: 62°C
mprime Lüfter aus: 67°C Oo

Wegen 4°C solch ein Getöse antun? :D

Ohne Undervolting aber mit Lüfter waren die Temperaturen übrigens höher als jetzt passiv.

Kein normaler Anwendungsfall hat bei mir die Temperatur auf vergleichbare Werte gebracht.
 
Ich verglich es auch mit wPrime unter Windows und nicht mit mPrime :)

Aber alles nur gefühlt ohne wissenschaftlichen Beleg :p

Ich hab eh das Gefühl, dass lm-sensors höhere Temps als vergleichbare Programme unter Windows ausliest teilweise ...

Ich werd dann in Zukunft eh wieder mPrime benutzen - eben wegen dem verrechnen ;)
 
Evilandi666' schrieb:
Ich verglich es auch mit wPrime unter Windows und nicht mit mPrime :)

Aber alles nur gefühlt ohne wissenschaftlichen Beleg :p
Das ist schon klar, ich habe das nur als kleinen Ansporn genommen :)

Ich hab eh das Gefühl, dass lm-sensors höhere Temps als vergleichbare Programme unter Windows ausliest teilweise ...

Ich werd dann in Zukunft eh wieder mPrime benutzen - eben wegen dem verrechnen ;)
Sicher? Lese mal /proc/acpi/thermal_zone/THM?/temperature aus. Die Werte werden eigentlich ohne große Umrechnung direkt aus den Themperaturdioden der CPU übernommen, daher sollten die Werte identisch sein, sofern die Auslastung die gleiche ist.
Bei WinXP kannst du aber in der Regel 2 und mehr Kerne nicht so auslasten wie unter Linux oder Windows 7. (schlechter Scheduler.. :D)
 
Bei mir ist /proc/acpi/thermal_zone/ leer ...

Ist übrigens ein Phenom II X4
 
Ja die zeigen auch die Temp pro Kern an.

Mir fiel das auch nur bei meinem AMD auf, wenn ich unter Win 7 wPrime loslegen lass, wird er irgendwie net so heiß wie unter Linux mit stress.

Aber wie gesagt, ich müsste das mal nochmal intensiv testen, aber so langweilig ist mir dann meist nie :p
 
IronEagle' schrieb:
Ja das sehe ich aehnlich. Ich werde vermutlich im Laufe der naechsten Woche zum testen kommen und gebe natuerlich Feedback :)
erwarte ich sehr gespannt, da man vielerorts lesen konnte, dass die P8x00-CPUs sogut wie nicht undervolten lassen :(
 
Danke buddabrod, schöne Anleitung. Ich hatte PHC zwar schon mit dem 2.6.35er verwendet, aber nun eben auch mit dem 2.6.37er.
 
Vielleicht versinkt der Thread aber auch schon bald :D
Ich versuch mal was dagegen zu tun ;)
Hier die Anleitung für Archlinux

Allerdings musste ich heute feststellen, dass phctool, die zusammenarbeit verweigert (da passt irgendwas am Python-Code nicht und ich hab nicht die Expertise das zu korrigieren und nicht die Lust mich einzulesen :D ).

Die im Wiki geschilderte Methode über "echo v w x y z > /sys/devices/system/cpu/cpuX/cpufreq/phc_vids" funktioniert aber... ist halt ein wenig unkomfortabler.

chemnitzDaniel' schrieb:
erwarte ich sehr gespannt, da man vielerorts lesen konnte, dass die P8x00-CPUs sogut wie nicht undervolten lassen :(
Ich hatte mehr Probleme mit meinem T2500... da geht nämlich irgendwie garnüscht.

Heute hab ich ein bißchen mit dem "neuen" P8400 rumgespielt, die Taktstufen sind:
2270 MHz mit Turbo
2270 MHz
1600 MHz
800 MHz

Die korrespondierenden VIDs:
Code:
# cat /sys/devices/system/cpu/cpu0/cpufreq/phc_default_vids 
39 34 23 17 

# cat /sys/devices/system/cpu/cpu0/cpufreq/phc_vids 
28 25 20 10
(gilt sinngemäß für cpu1)

Die "10" für die 800MHz-Stufe hat definitiv keinen Effekt hat - sieht aber ganz gut aus :p

Die Einstellung für den Turbomodus funktioniert in jedem Fall. Mit einer "25" konnte ich nämlich reproduzierbar das System einfrieren lassen :D

Mit den aktuellen VIDs müsste die CoreVoltage im Turbomodus von 1.2V auf 1.0625V abgesenkt sein - wenn ich mich nicht verrechnet habe und es tatsächlich funktioniert ;)

Unter Last kann ich subjektiv auch ein besseres Preis/Leistungsverhältnis feststellen, zudem läuft es mit diesen Einstellungen (auch mit cpuburn oder mprime) stabil.
(Seit der Einrichtung hatte ich zwar einen Freeze, aber ich bin mir nicht ganz sicher, ob's daran lag... wenn's sich wiederholt, werde ich wohl wieder ein klein bißchen nach oben drehen).

Insgesamt hab ich nur ein bißchen rumprobiert und da ich mit den Einstellungen jetzt zufrieden bin werde ich es erstmal dabei belassen.
Wenn's auf Dauer gut läuft, kommts auch nach rc.local ;)
 
Bei Archlinux ist sowas natürlich extrem einfach und schnell gemacht..

Ich hatte vor, wenn ich einen Wiki Eintrag für fedora schreibe, auch ein Paket zu bauen, das PHC richtig integriert. Oben ist ja nur eine Frickel-Lösung.

Übrigens meine ich mich zu erinnern, dass ich damals das phc-intel PKGBUILD erstellt und gewartet habe xD
 
phctool_0.5.2-2.tar.gz

Hi buddabrod,

warum hast Du eine alte Version von pchtool verwandt?

http://www.linux-phc.org/forum/viewtopic.php?f=14&t=17

phctool_0.5.2-2.tar.gz [919.52 KiB]


Naja, neue Version, jedoch startet diese bei meinem Kubuntu Maverick nicht.

Woran könnte das liegen?
Wie finde ich die Ursache?


MfG

xsid


Edit: Oh eine kleine Verwechselung, also ich möchte phctool verwenden.

i python-gtk2 ist installiert.

Fehlermeldung:

./phctool.py
You need to install pyGTK or GTKv2 or set your PYTHONPATH correctly.
try: export PYTHONPATH= /usr/local/lib/python2.2/site-packages/
 
Dir ist schon klar, dass ich phctool aus dem svn repo genommen habe, was das aktuellste überhaupt darstellt? ;)

Die von dir angegebene Version ist ja fast 3 Jahre alt.. Und nur ein Snapshot.

"Geht nicht" ist keine gute Fehlermeldung.

Edit: Im svn repo gabs auch lange keine Änderung mehr. Vermutlich weil das komplette Modul neu geschrieben wird.
 
  • ok1.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen
Zurück
Oben