Cool and Quiet AMD 64

De MicElectroLinGenMet.

Sommaire

Cool'n'Quiet AMD 64

Configuration du Cool'n'Quiet sous Debian

La technologie PowerNow est utilisée pour les processeurs Athlon 64 en autre, afin de réduire la consommation électrique et d'améliorer l’autonomie. Le principe est de diminuer la fréquence de fonctionnement du processeur lorsque celui-ci est peu sollicité.

BIOS

Activer cool'n'quiet + ACPI 2.0 Support dans le Bios (Asus A8V)

Modules kernel 2.6

Le noyau doit être compilé avec les options suivantes d'activées:

CONFIG_CPU_FREQ
CONFIG_CPU_FREQ_GOV_USERSPACE


Le "file system" /sys doit aussi être monté. Ce qui se fait en indiquant dans la fstab:

sysfs /sys sysfs defaults 0 0


Chargé le module powernow_k8

# modprobe powernow_k8

Log/dmesg au chargement du module powernow-k8:

Aug 30 13:49:25 vesta kernel: [13246.167836] powernow-k8: Found 1 AMD Athlon(tm) 64 X2 Dual Core Processor 4200+ processors (2 cpu cores) (version 2.20.00)
Aug 30 13:49:25 vesta kernel: [13246.167836] powernow-k8:    0 : fid 0xe (2200 MHz), vid 0x8
Aug 30 13:49:25 vesta kernel: [13246.167836] powernow-k8:    1 : fid 0xc (2000 MHz), vid 0xa
Aug 30 13:49:25 vesta kernel: [13246.167836] powernow-k8:    2 : fid 0xa (1800 MHz), vid 0xc
Aug 30 13:49:25 vesta kernel: [13246.167836] powernow-k8:    3 : fid 0x2 (1000 MHz), vid 0x12
# lsmod
cpufreq_userspace       4700  1			(modprobe)
powernow_k8            13256  0			(modprobe)
freq_table              4484  1 powernow_k8
processor              22780  1 powernow_k8


Voir dans

/sys

les infos concernant le CPU (si module powernow_k8 lancé)

 # l /sys/devices/system/cpu/cpu0/cpufreq/
total 0
-r--r--r-- 1 root root 4096 fᅵv 24 15:17 affected_cpus
-r-------- 1 root root 4096 fᅵv 24 15:17 cpuinfo_cur_freq
-r--r--r-- 1 root root 4096 fᅵv 24 15:17 cpuinfo_max_freq
-r--r--r-- 1 root root 4096 fᅵv 24 15:17 cpuinfo_min_freq
-r--r--r-- 1 root root 4096 fᅵv 24 15:17 scaling_available_frequencies
-r--r--r-- 1 root root 4096 fᅵv 24 15:17 scaling_available_governors
-r--r--r-- 1 root root 4096 fᅵv 24 15:17 scaling_cur_freq
-r--r--r-- 1 root root 4096 fᅵv 24 15:17 scaling_driver
-rw-r--r-- 1 root root 4096 fᅵv 24 15:17 scaling_governor
-rw-r--r-- 1 root root 4096 fᅵv 24 15:17 scaling_max_freq
-rw-r--r-- 1 root root 4096 fᅵv 24 15:17 scaling_min_freq
-rw-r--r-- 1 root root 4096 fᅵv 24 15:22 scaling_setspeed


Daemon

dpkg -l | grep powernow
ii  powernowd                            0.96-2                      control cpu speed and voltage using 2.6 kern
dan@vesta:~$ /usr/sbin/powernowd -h
PowerNow Daemon v0.97, (c) 2003-2005 John Clemens
Daemon to control the speed and voltage of cpus.

This is a simple client to the CPUFreq driver, and uses
linux kernel v2.5 sysfs interface.  You need a supported
cpu, and a kernel that supports sysfs to run this daemon.

Available Options:
       -h      Print this help message
       -d      Don't detach from terminal (default is to
               detach and run in the background)
       -v      Increase output verbosity, can be used more than once.
       -q      Quiet mode, only emergency output.
       -n      Include 'nice'd processes in calculations
       -m #    Modes of operation, can be 0, 1, 2, or 3:
               0 = SINE, 1 = AGGRESSIVE (default),
               2 = PASSIVE, 3 = LEAPS
       -s #    Frequency step in kHz (default = 100000)
       -p #    Polling frequency in msecs (default = 1000)
       -c #    Specify number of threads per power-managed core
       -u #    CPU usage upper limit percentage [0 .. 100, default 80]
       -l #    CPU usage lower limit percentage [0 .. 100, default 20]

Lecture de la fréquence courante

# cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
1000000


AMD 64 3000+ => Tourne à 1Ghz au lieu de 1.8GHz


D'où une température basse et des ventilateurs plus silencieux:

dan@vesta:~$ sensors
k8temp-pci-00c3
Adapter: PCI adapter
Core0 Temp:
            +36°C

w83627thf-isa-0290
Adapter: ISA adapter
...
CHA Fan:   781 RPM  (min =  502 RPM, div = 64)
CPU Fan:  1757 RPM  (min =  917 RPM, div = 64)
PWR Fan:  1406 RPM  (min = 1004 RPM, div = 64)
M/B Temp:    +27°C  (high =   +40°C, hyst =   +35°C)   sensor = thermistor
CPU Temp:  +33.0°C  (high =   +50°C, hyst =   +45°C)   sensor = thermistor
...

Le processeur reprend sa vitesse normale de "1800000" lorsqu'il est sollicité.


Administration wiki