Cpufreqd: Un demone per il CPU frequency scaling: differenze tra le versioni
(Aggiunto template autori) |
S3v (discussione | contributi) mNessun oggetto della modifica |
||
Riga 76: | Riga 76: | ||
|Autore = [[Keltik|keltik]] 15:16, Set 28, 2005 (EDT) | |Autore = [[Keltik|keltik]] 15:16, Set 28, 2005 (EDT) | ||
|Estesa_da = | |Estesa_da = | ||
:[[Mm-barabba|Mm-barabba]] 03:27, 12 dic 2010 (CET) | :[[User:Mm-barabba|Mm-barabba]] 03:27, 12 dic 2010 (CET) | ||
}} | }} | ||
[[Categoria:Ottimizzazione del sistema]] | [[Categoria:Ottimizzazione del sistema]] | ||
[[Categoria:Computer portatili]] | [[Categoria:Computer portatili]] |
Versione delle 15:03, 6 ott 2012
Versioni Compatibili Tutte le versioni supportate di Debian |
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 CDROM 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="acpi_cpufreq" # 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"
Come alternative a "acpi_cpufreq" è possibile utilizzare a seconda del tipo di processore:
- 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 .
Nel caso il log non sia presente abilitarlo modificando il file /etc/default/bootlogd come riportato:
# Run bootlogd at startup ? BOOTLOGD_ENABLE=Yes
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!
Guida scritta da: keltik 15:16, Set 28, 2005 (EDT) | Debianized 20% |
Estesa da:
| |
Verificata da: | |
Verificare ed estendere la guida | Cos'è una guida Debianized |