Cpufreqd: Un demone per il CPU frequency scaling: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
mNessun oggetto della modifica
(Una versione intermedia di uno stesso utente non è mostrata)
Riga 1: Riga 1:
{{Versioni compatibili}}
{{Versioni compatibili|Squeeze|Wheezy|Jessie}}
== Introduzione ==
== Introduzione ==
La maggior parte dei processori è da tempo in grado di mutare la velocità del clock in base alla effettiva necessità di potenza di calcolo.
La maggior parte dei processori è da tempo in grado di mutare la velocità del clock in base alla effettiva necessità di potenza di calcolo.
Riga 49: Riga 49:
# Leave empty if you wish to load the modules another way,
# Leave empty if you wish to load the modules another way,
# or if CPUFreq support for your cpu is built in.
# or if CPUFreq support for your cpu is built in.
CPUFREQ_CPU_MODULE="acpi_cpufreq"
CPUFREQ_CPU_MODULE=""


# Governor modules.
# Governor modules.
Riga 58: Riga 58:
CPUFREQ_GOV_MODULES="powersave"</pre>
CPUFREQ_GOV_MODULES="powersave"</pre>


Come alternative a "acpi_cpufreq" è possibile utilizzare a seconda del tipo di processore:
Se il modulo del kernel non viene caricato automaticamente, a seconda del processore è possibile utilizzare "acpi_cpufreq" o uno degli altri driver in <code>/lib/modules/$(uname -r)/kernel/drivers/cpufreq</code>.
*powernow_k7
*speedstep-centrino


Per verificare che tutto sia a posto e che il modulo sia caricato correttamente all'avvio, si consiglia la consultazione del file ''/var/log/boot'' .
Per verificare che tutto sia a posto e che il modulo sia caricato correttamente all'avvio, si consiglia la consultazione del file ''/var/log/boot'' .


Nel caso il log non sia presente, installare il pacchetto <code>bootlogd</code> .
Nel caso il log non sia presente, installare il pacchetto <code>bootlogd</code> .
== Conclusioni ==
L'utilizzo di questa tecnologia permette al mio portatile un'autonomia, con un utilizzo non gravoso (uso tipico: ufficio), di circa 3 ore; mentre con MS Windows - avvantaggiato da tutta una serie di altre utility e di driver specifici - l'autonomia media era (prima di essere piallato senza rimpianti) 3,20 ore: non male dopotutto per GNU/Linux!




Riga 74: Riga 69:
|Estesa_da =
|Estesa_da =
:[[User:Mm-barabba|Mm-barabba]] 03:27, 12 dic 2010 (CET)
:[[User:Mm-barabba|Mm-barabba]] 03:27, 12 dic 2010 (CET)
|Verificata_da =
:[[User:Mm-barabba|Mm-barabba]]
:[[Utente:HAL 9000|HAL 9000]] 13:06, 1 lug 2014 (CEST)
|Numero_revisori = 2
}}
}}


[[Categoria:Ottimizzazione del sistema]]
[[Categoria:Ottimizzazione del sistema]]
[[Categoria:Computer portatili]]
[[Categoria:Computer portatili]]

Versione delle 14:30, 26 mag 2015

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 6 "squeeze"
Debian 7 "wheezy"
Debian 8 "jessie"

Introduzione

La maggior parte dei processori è da tempo in grado di mutare la velocità del clock in base alla effettiva necessità di potenza di calcolo.

Alcune caratteristiche di queste CPU sono: la scarsa dissipazione di calore (minor calore emesso, a parità di frequenza operativa, indica un'efficienza elettrica superiore) e la capacità di mutare la velocità del clock in base alla effettiva necessità di potenza di calcolo.

Molti di questi si comportano egregiamente in accoppiata con GNU/Linux: vediamo in breve come configurare il nostro sistema per trarne beneficio.

Configurazione del kernel

In linea di massima il kernel fornito dai recenti CD-ROM di installazione di Debian contiene già quanto necessario ad utilizzare al meglio il nostro processore.

La compilazione manuale di un kernel più aggiornato può ovviamente dare benefici ulteriori.

I supporti che dobbiamo abilitare nel kernel sono essenzialmente:

# CPU Frequency scaling
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_TABLE=y
CONFIG_CPU_FREQ_STAT=y
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_ONDEMAND=y

In questo modo abilitiamo la capacità del kernel di interagire con lo speed-stepping del nostro processore e cioè la sua capacità di variare la propria frequenza operativa.

È anche necessario abilitare l'ACPI nel proprio kernel (il kernel Debian ha il supporto già abilitato).

Configurazione: cpufreqd

Cpufreqd è un demone che controlla il tipo di alimentazione fornita al portatile (batteria o rete elettrica) e stabilisce quale governor utilizzare.

Installiamo cpufreqd in pieno stile Debian:

# apt-get install cpufreqd

I governor (le modalità di sfruttamento dello stepping) abilitati sono diversi a seconda del tipo di processore, è possibile verificare quali sono quelli disponibili impartendo il comando:

$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors

Tra i più comuni troviamo "performance", "ondemand" e "powersave".

Il primo (performance) verrà utilizzato quando il portatile è alimentato tramite rete elettrica e permetterà il funzionamento costante a piena frequenza, mentre il secondo (ondemand) interverrà quando il portatile è alimentato tramite batteria e scalerà la frequenza del processore fino a circa il 50% del suo totale, il terzo (powersave) interverrà con l'alimentazione a batteria riducendo la frequenza al minimo possibile.

Le frequenze disponibili si possono sapere impartendo il comando:

$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies

Il file di configurazione di Cpufreqd è /etc/cpufreqd.conf, dove all'interno potrete modificare a vostro piacimento le configurazioni presenti anche se di default propone una soluzione standard che va bene per molti.

A volte si rende necessaria una modifica al file /etc/default/cpufreqd, per indicare il giusto modulo, di seguito il mio file di configurazione:

# Cpufreqd startup configuration

# CPU kernel module.
# Leave empty if you wish to load the modules another way,
# or if CPUFreq support for your cpu is built in.
CPUFREQ_CPU_MODULE=""

# Governor modules.
# A list separated by spaces. They are needed by cpufreqd
# to load your policies. The init script can automatically
# try to load them. Leave empty to disable loading governor
# modules at all, use "auto" to let the script do the job.
CPUFREQ_GOV_MODULES="powersave"

Se il modulo del kernel non viene caricato automaticamente, a seconda del processore è possibile utilizzare "acpi_cpufreq" o uno degli altri driver in /lib/modules/$(uname -r)/kernel/drivers/cpufreq.

Per verificare che tutto sia a posto e che il modulo sia caricato correttamente all'avvio, si consiglia la consultazione del file /var/log/boot .

Nel caso il log non sia presente, installare il pacchetto bootlogd .




Guida scritta da: keltik 15:16, Set 28, 2005 (EDT) Swirl-auth60.png Debianized 60%
Estesa da:
Mm-barabba 03:27, 12 dic 2010 (CET)
Verificata da:
Mm-barabba
HAL 9000 13:06, 1 lug 2014 (CEST)

Verificare ed estendere la guida | Cos'è una guida Debianized