# Asus Board CPU heruntertakten (gelöst)

## Tinitus

Hallo,

ich habe ein Asus Board mit einem Q6600. Unter Windows geht lt. Beschreibung der Prozessor per Software herunterzutakten. Geht das unter Linux auch? Wenn ja wie?

Ich möchte ein wenig Strom sparen in der Zeit, in der der Rechner im Leerlauf ist.

G. R.Last edited by Tinitus on Fri Feb 13, 2009 11:04 am; edited 1 time in total

----------

## boris64

Es sollte genügen, folgende Module zu laden:

```

modprobe acpi-cpufreq

modprobe cpufreq_ondemand

```

Danach musst du dem Kernel nur noch mitteilen, dass du den "Ondemand"-Governor 

auch nutzen willst:

```

echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

```

Damit das alles reibungslos funktioniert, musst du natürlich die 

betreffenden Module (s.o.) im Kernel auch ausgewählt haben.

----------

## Tinitus

 *boris64 wrote:*   

> Es sollte genügen, folgende Module zu laden:
> 
> ```
> 
> modprobe acpi-cpufreq
> ...

 

Hallo, erst mal Danke!!!

Muß ich das nun jedesmal von Hand machen, oder reicht es die Module automatisch laden zu lassen?

Kann man dann irgendwie das Ergebnis graphisch darstellen lassen?

G. R

----------

## attix

Öhm,

sollten das nicht EIST und C1E quasi automatisch machen (sofern im BIOS aktiviert natürlich)? Eine der beiden Funktionen regelt imho doch auch den Vcore runter, sofern nicht übertaktet wurde, oder nicht?

Gruß

----------

## Hollowman

Hi

Anzeigen lassen kannste dir das mit kpowersave.

Sebastian

----------

## Disaronno

Hier ist eine ziemlich gute Dokumentation von gentoo selber.

http://www.gentoo.org/doc/de/power-management-guide.xml#doc_chap3

Ich persönlich habe sehr gute Erfahrungen mit dem ondemand governor gemacht. Einfach noch sys-power/cpufrequtils installieren und in der /etc/conf.d/cpufrequtils den governor einstellen und das script in der zum runlevel hinzufügen. Schnell, einfach und wirkungsvoll.

Mfg

----------

## 3PO

 *boris64 wrote:*   

> Es sollte genügen, folgende Module zu laden:
> 
> ```
> 
> modprobe acpi-cpufreq
> ...

 

Danke für den Tipp:

Für eine Quad-Core CCPU fehlte aber noch:

```
echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

echo "ondemand" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor

echo "ondemand" > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor

echo "ondemand" > /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor
```

Und damit es nun auch beim Systemstart automatisch geladen: 

```
echo "acpi-cpufreq" >> /etc/modules.autoload.d/kernel-2.6

echo "cpufreq_ondemand" >> /etc/modules.autoload.d/kernel-2.6
```

----------

## Tinitus

 *3PO wrote:*   

>  *boris64 wrote:*   Es sollte genügen, folgende Module zu laden:
> 
> ```
> 
> modprobe acpi-cpufreq
> ...

 

Hallo,

das funktioniert nun soweit....aber nach jedem Neustart muß ich das 

```
echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

echo "ondemand" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor

echo "ondemand" > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor

echo "ondemand" > /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor
```

manuell wieder eingeben.

Gibt es dazu schon was fertiges ... oder einfach irgendwie ein Script automatisch starten?

G. R.

----------

## py-ro

Hänge an die Datei /etc/conf.d/local.start dran.

Py

----------

## 3PO

 *Tinitus wrote:*   

> 
> 
> [...] 
> 
> Gibt es dazu schon was fertiges ... oder einfach irgendwie ein Script automatisch starten?...

 

Ich habe das so gelöst:

Ein Script mit dem Namen cpu.sh in /etc mit diesem Inhalt angelgt.

```
#!/bin/sh

modprobe acpi-cpufreq

modprobe cpufreq_ondemand

echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

echo "ondemand" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor

echo "ondemand" > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor

echo "ondemand" > /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor
```

Rechte vergeben...

```
chmod 755 /etc/cpu.sh
```

Dann in der /etc/conf.d/local.start folgenden Eintrag hinzugefügt:

 *Quote:*   

> # /etc/conf.d/local.start
> 
> # This is a good place to load any misc programs
> 
> # on startup (use &>/dev/null to hide output)
> ...

 

Fertig!

----------

## Tinitus

 *3PO wrote:*   

>  *Tinitus wrote:*   
> 
> [...] 
> 
> Gibt es dazu schon was fertiges ... oder einfach irgendwie ein Script automatisch starten?... 
> ...

 

Hey Danke.

G.R.

----------

## Max Steel

Ihr könntet auch folgendes Einstellen:

cd /usr/src/linux

make menuconfig

```
-> Power management options

    -> CPU Frequency scaling

        -> CPU Frequency scaling

            -> Default CPUFreq governor
```

Und diese Einstellung auf OnDemand einstellen.

----------

## Knieper

 *Disaronno wrote:*   

> Hier ist eine ziemlich gute Dokumentation von gentoo selber.
> 
> http://www.gentoo.org/doc/de/power-management-guide.xml#doc_chap3

 

Widerspricht:

 *Quote:*   

> Manuelles Setzen der Frequenz
> 
> Eine Verminderung der Prozessorgeschwindigkeit bringt zwei Vorteile: Zum einen wird weniger Energie verbraucht, zum anderen entwickelt sich weniger Wärme. Demgegenüber steht natürlich ein Verlust an Performanz. Der Trick ist nun, eine Prozessorgeschwindigkeit auszuwählen, die hoch genug ist, um flüssiges Arbeiten zu ermöglichen, gleichzeitig aber so niedrig, dass der Prozessor maximal ausgelastet ist.

 

nicht den Aussagen der Entwickler oder wie Heise schreibt:

 *Quote:*   

> Die Kernel-Entwickler Matthew Garrett und Dave Jones haben in ihren Blogs und anderen Stellen schon mehrfach dargelegt, dass Throttling ("Drosseln") bei modernen CPUs nur zum Schutz vor Überhitzung dient, nicht aber wie allgemein angenommen die Taktfrequenz senkt oder die Leistungsaufnahme reduziert. Im Gegenteil, die Gesamt-Leistungsaufnahme zum Bewältigen einer Berechnung steige bei durch CPU-Throttling sogar, da die CPU nicht in den Stromsparmodus wechseln könne und das System mit all seinen anderen stetig Leistung umsetzenden Komponenten länger für die Berechnungen braucht.

 

Allerdings kann meine CPU das nicht und ich habe mich nie damit beschäftigt...   :Confused: 

----------

## firefly

 *Knieper wrote:*   

>  *Disaronno wrote:*   Hier ist eine ziemlich gute Dokumentation von gentoo selber.
> 
> http://www.gentoo.org/doc/de/power-management-guide.xml#doc_chap3 
> 
> Widerspricht:
> ...

 

öhm du verwechselst das was. Es gibt zwei arten um einen Prozessor zu "Drosseln". Die eine Möglichkeit ist das Throttling (T-States) und die andere das Frequenzscaling über cpufreq im kernel.

Bei Throttling werden künstlich warte operationen in den operationsfluss der CPU eingeführt. Dadurch ist die Ausführungsgeschwindigkeit von Programmen reduziert, aber die CPU läuft mit Ihrem aktuellen Takt weiter.

Bei Frequenzscaling, wird die Taktfrequenz und mittlerweile auch die Spannung (vcore) verändert.

Der von dir oben genannte Hinweis von Kernel-entwickler bezieht sich aufs Throttling und nicht auf frequenzscaling.

----------

## Knieper

Danke für den Hinweis. Endlich Licht im Dunkeln. Schneller machen musste ich ja schon einiges, aber langsamer noch nie¹. Da fehlt wirklich die Erfahrung.

¹ Edit: Turbo-Taste beim 386er drücken, damit Lotus spielbar bleibt zählt nicht.   :Wink: 

----------

## Tinitus

 *Knieper wrote:*   

> Danke für den Hinweis. Endlich Licht im Dunkeln. Schneller machen musste ich ja schon einiges, aber langsamer noch nie¹. Da fehlt wirklich die Erfahrung.
> 
> ¹ Edit: Turbo-Taste beim 386er drücken, damit Lotus spielbar bleibt zählt nicht.  

 

Hallo,

habe mal mit einem Meßgerät nachgemessen (kenne den Artikel aus der CT).

Die ganze Umstellung bringt auf meinem Q9650 maximal 1 Watt Einsparung. 

Bzw. nach einer gewissen Zeit schaltet wahrscheinlich Bios bzw. Prozzi oder beides den Prozessor automatisch auf den gleichen Verbrauch herunter. Hier 140 Watt. Voll krass der Verbrauch oder ? :Evil or Very Mad: 

G. R.

----------

## musv

 *Max Steel wrote:*   

> Ihr könntet auch folgendes Einstellen:
> 
> cd /usr/src/linux
> 
> make menuconfig
> ...

 

So hab ich das auch gemacht. Das geht dann automatisch. Mein Athlon X2 läuft dann per default auf 1000 Mhz. Und wenn etwas mehr Leistung nötig ist, geht die Frequenz (und die VCore) automatisch hoch bis auf maximal 3100 Mhz. Mehr war echt nicht nötig. Irgendwelche Scripte oder manuelle Eintragungen musste ich nicht vornehmen. Ich glaub, den ACPI-Daemon hab ich laufen. Das sollte aber auch schon alles in der Hinsicht sein.

----------

