Siduction Forum

Siduction Forum => Software - Support => Topic started by: pit on 2013/05/12, 22:49:31

Title: Zu niedriger CPU-Takt? (gelöst)
Post by: pit on 2013/05/12, 22:49:31
/edit: Lösung findet sich unten im Thread (http://www.siduction.org/index.php?name=PNphpBB2&file=viewtopic&p=29488#29488).

Ich arbeite mit meinem Laptop Dell Vostro 3450 mit einer CPU Intel Core i3-2310M immer mal wieder mit VirtualBox und wundere mich neuerdings über recht träge VMs. Heute habe ich eine neue VM mit einer Vorab-Version von Siduction 13.0.5 PaintItBlack RQT (64bit) erstellt, die ich mit 1900 MB RAM, 128MB Grafikspeicher und 2 CPUs ausgestattet habe. Die Installation dauerte eine gefühlte Ewigkeit und auch der laufende Betrieb fühlt sich zäh an.

Einer im Netz gefundenen Anleitung folgend (http://www.kilrathy.net/sites/prozessortaktung_unter_linux.html) habe ich mal nachgesehen, wie die Cores takten. Hier die Werte:

Code: [Select]
cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq => 2100000
cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq => 798000
cat /sys/devices/system/cpu/cpu0/cpufreq/cat scaling_governor => powersave


Der Laptop läuft aktuell mit angeschlossenem Netzteil. In den KDE-Systemeinstellungen kann man im Bereich Energiespar-Einstellungen aktuell keine CPU-spezifischen Einstellungen vornehmen. Ich könnte jetzt z.B. mit
Code: [Select]
echo "powersave" > scaling_governor
den Takt nach oben regeln (das klappt auch). Da ich aber definitiv keine Ahnung habe, ob das a) eine vom System dynamisch verwaltete Variable ist od. ob ich damit eine dauerhafte Änderung vornehme (die ich für die anderen drei CPUs ebenso vornehmen müsste) und ob das b) nicht auch Probleme in Sachen Überhitzung u. Akku-Laufzeit bedeuten könnte, lasse ich lieber die Finger davon.

cpufreq-info gibt das hier aus:
http://paste.siduction.org/20130512210853


Meine Fragen:

1. Ist der aktuelle Takt (cpuinfo_cur_freq) normal? OK, das System ist aktuell nicht sonderlich ausgelastet. Hier eine Momentaufnahme (htop):
Code: [Select]
1  [||||||                          12.5%]     Tasks: 97, 215 thr; 2 running
2  [||||                             7.8%]     Load average: 0.22 0.18 0.22
3  [||||                             7.1%]     Uptime: 00:35:45
4  [|                                1.3%]
Mem[|||||||||||||||||||        975/3873MB]
Swp[                             0/4094MB]


2. Habe ich eine GUI-gesteuerte Einstellmöglichkeit übersehen? Erinnere mich dunkel, früher in den KDE-Systemsettings die Wahl zwischen Performance u. Powersave gehabt zu haben.

3. Was würde ein manuelles Editieren der scaling_governor bewirken? Dauerhafte Änderung?

4. Oder suche ich am Ende an der falschen Stelle u. VirtualBox (Quelle: Oracle) hat ein Problem?
virtualbox-4.2 4.2.12-84980~Debian~squeeze amd64 Oracle VM VirtualBox

Ich werde mal probieren, VirtualBox aus den regulären Quellen zu installieren. Falls sich die Performance verbessert, werde ich das hier ergänzen.

/edit

Ich habe hier (http://wiki.debianforum.de/Cpufrequtils#Governor_w.C3.A4hrend_des_Bootvorgang_stetzen) gelesen, dass man über eine neu zu erstellende Datei /etc/default/cpufrequtils das (ich nenn's mal) Power-Profil bestimmen kann. Inhalt:
Code: [Select]
ENABLE=true # default
GOVERNOR=performance

Dann als root:
Code: [Select]
/etc/init.d/cpufrequtils reload
Jetzt ergibt sich in der Tat ein anderes Bild:
Code: [Select]
cpufreq-info | grep "momentane Taktfrequenz"
  momentane Taktfrequenz ist 1.37 GHz  (verifiziert durch Nachfrage bei der Hardware).
  momentane Taktfrequenz ist 2.10 GHz  (verifiziert durch Nachfrage bei der Hardware).
  momentane Taktfrequenz ist 1.83 GHz  (verifiziert durch Nachfrage bei der Hardware).
  momentane Taktfrequenz ist 2.08 GHz  (verifiziert durch Nachfrage bei der Hardware).

Das möchte ich natürlich nicht dauerhaft haben (scheint auch im Akku-Betrieb recht hoch zu takten). Meine o.g. Fragen sind somit noch offen.
Title: RE: Miese VirtualBox Performance / zu niedriger CPU-Takt?
Post by: towo on 2013/05/13, 07:53:06
Du hast vermutlich das gleiche "Problem" wie hier:
http://forum.siduction.org/index.php?topic=3430&highlight=ondemand
Versuche also mal die pstates zu deaktivieren und wieder mit ondemand zu fahren.
Title: RE: Miese VirtualBox Performance / zu niedriger CPU-Takt?
Post by: mof on 2013/05/13, 09:52:16
Hallo,

grub_cmd muss richtig heissen:
Code: [Select]
intel_pstate=disable
...das 's' bei pstate war zu viel!

mof
Title: RE: Miese VirtualBox Performance / zu niedriger CPU-Takt?
Post by: pit on 2013/05/13, 12:13:33
Die schon im verlinkten Thread genannte Boot-Option hatte ich heute Nacht noch getestet. Auch danach meldete mir cpufreq_info als "mögliche Regler" ausschließlich diese: "performance, powersave". Von ondemand ist da nicht die Rede. Und wenn ich das via
Code: [Select]
echo "ondemand" > scaling_governorerzwingen möchte, gibt es eine Fehlermeldung.

Das alles aus dem Kopf - sitze momentan im Büro vor einem Windows-Rechner ;-)

PS: Meine bessere Hälfte (Frühaufsteherin) fragte mich am Frühstückstisch, ob ich irgendwas mit dem Laptop gemacht hätte. Der sei plötzlich so schnell gewesen ... ;-) [hatte heute Nacht noch "performance" erzwungen]

/edit
Da @mof im anderen Thread (http://forum.siduction.org/index.php?msg=29382#29382) tatsächlich intel_pstates=disable geschrieben hatte, es wie ich hier lese aber  intel_pstate=disable (pstate ohne abschließendes s) heißen muss, ist mein nächtlicher Versuch vermutlich ins Leere gelaufen. Ich probiere es heute Abend noch einmal und werde berichten.
Title: RE: Miese VirtualBox Performance / zu niedriger CPU-Takt?
Post by: pit on 2013/05/13, 18:50:15
So. Habe mit grub Option intel_pstate=disable gebootet und in der Tat: Es stehen zusätzliche "Regler" zur Verfügung:

Code: [Select]
mögliche Regler: conservative, powersave, userspace, ondemand, performance

Komplette Ausgabe von cpufreq_info:
http://paste.siduction.org/20130513163810

Ich nehme mal an, um das dauerhaft zu realisieren, muss ich die o.g. Zeile irgendwie in die /etc/default/grub eintragen? Wortwörtlich?
Title: RE: Miese VirtualBox Performance / zu niedriger CPU-Takt?
Post by: pit on 2013/05/13, 20:18:57
Hier die Lösung:

Als Root diese Datei editieren:
Code: [Select]
/etc/default/grub
Zeile suchen, die mit GRUB_CMDLINE_LINUX_DEFAULT beginnt, am Ende (links vom Schlusszeichen) ergänzen:
Code: [Select]
intel_pstate=disable
Dann (immer noch als root)
Code: [Select]
update-grub
Jetzt prüfen, ob es diese Datei gibt:
Code: [Select]
/etc/default/cpufrequtils
Wenn nicht: Datei erstellen
Code: [Select]
touch /etc/default/cpufrequtils
Mit dem Editor eures Vertrauens bearbeiten, folgender Inhalt:
Code: [Select]
ENABLE=true # default
GOVERNOR=ondemand

Abschließend folgenden Befehl eingeben:
Code: [Select]
/etc/init.d/cpufrequtils reload
Jetzt neu starten und (am besten als root) prüfen, ob die neue Konfiguration greift:
Code: [Select]
cpufreq-info
Entscheidend sind hier die Zeilen
Title: RE: Miese VirtualBox Performance / zu niedriger CPU-Takt?
Post by: pit on 2013/05/18, 13:22:00
Eine Frage habe ich aber noch. Hier (Link (http://www.golem.de/news/linux-kernel-p-states-verringern-leistungsaufnahme-auf-intel-cpus-1305-99336.html)) lese ich etwas zum Thema p-states.

Quote
Statt des betagten Cpufreq-Treibers und des Ondemand-Governors sollen im Linux-Kernel P-States für eine reduzierte Leistungsaufnahme der Sandy-Bridge- und Ivy-Bridge-CPUs von Intel sorgen. (Linux-Kernel, Linux)


Da ich P-States ja via Kernel-Parameter deaktiviert habe, komme ich nicht in Genuss dieser neuen Energiesparoption, oder? Ist das was ich oben beschrieben habe nur ein temporärer Workaround - kann ich das mit Erscheinen neuerer Kernel wieder rausnehmen?
Title: RE: Miese VirtualBox Performance / zu niedriger CPU-Takt?
Post by: ralul on 2013/05/18, 17:27:56
Wenn du Sandy-Bridge (Cpu oder Chipsatz?) hast, kannst du - wenn es denn mal funktioniert - folgendes nehmen:
performance + pstate

Wäre das performanteste und power sparendste ....

Ich mit meinem 4 Jahre alten Core2Duo kann da wohl nie mitmachen (nvidia Chipsatz - alter MacMini), Towo ?

Edit: Hintergrund auf Englisch:
http://www.phoronix.com/scan.php?page=news_item&px=MTM3NDQ
Title: RE: Miese VirtualBox Performance / zu niedriger CPU-Takt?
Post by: towo on 2013/05/18, 17:30:11
Pstates gibt es erst mit Sandy- und Ivybridge ergo fährt Alles, was davor war, mit acpi-cpufreq.
Title: RE: Miese VirtualBox Performance / zu niedriger CPU-Takt?
Post by: pit on 2013/05/18, 19:12:26
Mein Intel Core i3-2310M ist wohl eine Sandy Bridge CPU, siehe wikipedia (http://en.wikipedia.org/wiki/Sandy_Bridge#Mobile_platform). Habe gerade den aktuellsten Siduction Kernel 3.9-2.towo.2-siduction-amd64 installiert u. den o.g. Bootparameter rausgenommen. Keine Änderung - heißt: Mir stehen dann wieder ausschließlich die Regler performance und powersave zur Verfügung. @ralul: Schon klar, dass ich das eine oder das andere erzwingen kann. Aber dann eben nur dauerhaft langsam (und ernergiesparend) oder dauerhaft fix (u. mit kurzer Akku-Laufzeit). Das kann es ja am Ende nicht sein. Da waren wir schon mal weiter ;-)
Title: RE: Miese VirtualBox Performance / zu niedriger CPU-Takt?
Post by: ralul on 2013/05/18, 19:53:31
Äh, beides:
performance mit pstate(s) Aktivierung der cpus!

Ergibt:
Dauerhafte Performanz mit höchster Energieersparnis. Jedenfalls nach Intel Werbung. Aber es mag vorkommen, dass ganz neue Infrastrukturen bei einem Kernel
Linux-3.9.kleineNummer
noch in RC Qualität sind (Jedenfalls nach Aussage von Kroah-Hartmann)
Title: Re: Zu niedriger CPU-Takt? (gelöst)
Post by: pit on 2014/06/15, 13:30:05
Nachtrag: Ich habe mittlerweile die von mir oben beschriebene (http://forum.siduction.org/index.php?topic=3442.msg29488#msg29488) Lösung wieder rückgängig gemacht. Meine Sandy Bridge CPU (Intel Core i3-2310M) und aktuellere Kernel ermöglichen offensichtlich mittlerweile auch den Governor powersave. Die 4 Kerne takten nun wunschgemäß dynamisch u. unabhängig voneinander. Ich erwarte mir davon eine deutlich verlängerte Laufzeit im Akku-Betrieb - die ließ mit o.g. Konfiguration natürlich stark zu wünschen übrig. Und außerdem wurde die Kiste ziemlich heiß.

Also: In der Datei /etc/default/grub den Eintrag intel_pstate=disable wieder löschen u. grub neu schreiben lassen (als root: update-grub). Dann in der /etc/default/cpufrequtils als einzige so beginnende Zeile schreiben:
GOVERNOR=powersave

Ob eure CPU powersave unterstützt (und welche anderen), könnt ihr so auslesen:

Code: [Select]
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors