Old:Powernowd: CpuScaling per AMD

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
Edit-clear-history.png Attenzione. Questa guida è da considerarsi abbandonata, per via del tempo trascorso dall'ultima verifica.

Potrà essere resa obsoleta, previa segnalazione sul forum, se nessuno si propone per l'adozione.


Debian-swirl.png Versioni Compatibili

Debian 5 "lenny"
Debian 6 "squeeze"
Debian 7 "wheezy"

Introduzione

Con l'aumentare delle frequenze dei processori, è aumentato il consumo di energia da parte di questi componenti. Così sono state introdotte delle nuove tecnologie per il risparmio energetico, tra cui la 'Speed Steps'. Questa tecnologia rende possibile ridurre la frequenza a cui lavora un processore, limitando così il consumo di energia e la produzione di calore (così da ridurre il tempo in cui è in funzione la ventola e, di conseguenza, il consumo energetico).

Fortunamente è disponibile un comodo demone che si occupa di gestire questa caratteristica: powernowd. A dispetto del nome questo demone è compatibile con tutte le cpu che supportano cpufreq.

Kernel

Per poter utilizzare questa tecnologia, è necessario abilitare le seguenti voci nella configurazione del kernel:

CONFIG_CPU_FREQ
CONFIG_CPU_FREQ_GOV_USERSPACE
CONFIG_CPU_FREQ_GOV_ONDEMAND
CONFIG_CPU_FREQ_TABLE
CONFIG_X86_ACPI_CPUFREQ
CONFIG_X86_POWERNOW_K7
CONFIG_X86_POWERNOW_K7_ACPI

Oltre ad abilitare il supporto per l'ACPI (necessario). Consiglio di compilare tutto staticamente (si guadagna un po' di tempo al boot), ma teoricamente dovrebbero essere presenti come moduli anche all'interno del kernel di default Debian.

Installazione

Nel classico stile Debian, è sufficiente un banale:

# apt-get install powernowd

Così verrà installato e messo in esecuzione il demone.


Configurazione

Le opzioni impostate di default possono essere modificate, così da adattarsi maggiormente alle proprie esigenze.

Ecco una lista delle opzioni disponibili:

-h
Visualizza un messaggio di aiuto
-d
Impedisce l'esecuzione in background, lasciandolo legato al terminale da cui viene lanciato
-v
Verbose
-q
Riporta solo eventuali errori
-m
Modalità di gestione della frequenza: 0 = SINE, 1 = AGGRESSIVE (default), 2 = PASSIVE, 3 = LEAPS
-s
Gli step di frequenza in kHz (default = 100000)
-p
Tempo di pooling in ms -- ovvero ogni quanto tempo viene controllato l'uso della cpu (default = 1000)
-u
Limite superiore di utilizzo della CPU [0 .. 100, default 80]
-l
Limite minimo di utilizzo della CPU [0 .. 100, default 20]


Le modalità disponibili

0, SINE
Scala la frequenza per "step" in base al carico del processore.
1, AGGRESSIVE
Salta immediatamente alla frequenza massima quando l'utilizzo della CPU supera il limite massimo, scala lentamente la frequenza se l'utilizzo del processore scende sotto il limite minimo. Default.
2, PASSIVE
L'inverso di 'AGGRESSIVE'. Salta immediatamente alla frequenza minima quando l'utilizzo scende sotto il limite minimo di utilizzo della CPU e sale lentamente fino al massimo in caso di utilizzo del processore superiore al limite massimo;
3, LEAPS
salta immediatamente alla frequenza massima in caso di utilizzo della CPU maggiore del limite massimo, e salta immediatamente alla frequenza minima in caso di utilizzo della CPU minore del limite minimo.

Facendo un piccolo riassunto:
Risparmio energetico massimo: PASSIVE
Performance massime: AGGRESSIVE / LEAPS
Medio: SINE

Per passare all'applicazione le opzioni che più ci aggradano è necessario modificare il file /etc/init.d/powernowd specificando, all'interno della variabile OPTIONS le opzioni scelte!

Nel mio caso:

OPTIONS="-q -m2"

Per applicare le modifiche apportate, è sufficiente eseguire lo script sopra citato con l'azione restart:

# /etc/init.d/powernowd restart

Conclusione

Con questo trucchetto la durata della batteria del mio portatile arriva tranquillamente fino a 2 ore (ovviamente senza utilizzare applicazioni troppo pesanti)


MaXeR