Guida alla gestione energetica
1.
Introduzione
Informazioni su questo documento...
Questo documento descriva la configurazione della gestione energetica per il
proprio laptop.
Nonostante alcune delle informazioni contenute in questa guida possano essere
applicate alla gestione energetica dei server, non è intenzione di questo
documento procedere in tale direzione. Si raccomanda la massima attenzione
quando questa configurazione viene applicata ad un sistema diverso dal laptop.
Il contenuto della guida verrà focalizzato principalmente su laptop-mode-tools
dato che offre un insieme completo di funzionalità. Ad ogni modo, si farà
riferimento anche ad altri strumenti, i quali potrebbero offrire un approccio
alle singole impostazioni più dettagliato.
In questi casi, sarà necessario disabilitare le caratteristiche di
laptop-mode-tools in modo da non interferire sugli stessi controlli delle
risorse.
Informazioni su laptop_mode
L'impostazione laptop_mode è un parametro interno del kernel volto ad
ottimizzare l'I/O, consentendo all'hard disk di essere spento correttamente (e
non venire riacceso subito dopo a causa delle operazioni in coda).
Informazioni su laptop-mode-tools
Il Laptop Mode Tools è un pacchetto software
(app-laptop/laptop-mode-tools) che consente di ottimizzare le
funzionalità di risparmio energetico. Consente inoltre la gestione
dell'impostazione laptop_mode nel kernel Linux, ma offre ulteriori
caratteristiche rivolte alla personalizzazione di altre funzionalità legate al
risparmio energetico.
2.
Configurazione del kernel Linux
Configurazione minima del kernel
In Portage ci sono differenti versioni del kernel. Quella consigliata è
gentoo-sources, ma se si desidera un supporto avanzato all'ibernazione si
consiglia tuxonice-sources. Per abilitare correttamente le funzionalità
di gestione energetica nel kernel Linux, è necessario abilitare almeno le
seguenti opzioni:
Codice 2.1: Configurazione minimale del kernel per la gestione energetica |
General setup --->
[*] Configure standard kernel features (expert users) --->
Power management and ACPI options --->
[*] Run-time PM core functionality
[*] ACPI (Advanced Configuration and Power Interface) Support --->
<*> AC Adapter
<*> Battery
-*- Button
-*- Video
<*> Fan
<*> Processor
<*> Thermal Zone
[*] Power Management Timer Support
[*] CPU Frequency scaling --->
[*] CPU Frequency scaling
<*> 'performance' governor
<*> 'powersave' governor
<*> 'userspace' governor
<*> 'ondemand' governor
<*> 'conservative' governor
<*> ACPI Processor P-States driver
|
Non dimenticare di abilitare il driver di scaling frequency (modifica della
frequenza) della CPU, posto subito dopo ACPI Processor P-States driver
citato in precedenza.
Compilare ed installare il nuovo kernel (se necessario) e riavviare.
3.
Uso di Laptop Mode Tools
Installazione
Non è una sorpresa che l'installazione diLaptop Mode Tools avvenga
facilmente tramite emerge laptop-mode-tools.
Tuttavia, questo pacchetto contiene impostazioni aggiuntive attraverso la
configurazione delle USE flag.
Per cui verrà fornito un elenco di USE flag supportate e del loro significato.
| USE flag |
Descrizione |
Suggerita quando... |
| acpi |
Dipende da sys-power/acpid per cui verranno rilevati i cambiamenti nel
sistema e le funzionalità di risparmio energetico verranno
abilitate/disabilitate automaticamente.
|
il laptop non è troppo vecchio (~ anno 2003 e successivi) |
| apm |
Dipende da sys-power/apmd per cui verranno rilevati i cambiamenti nel
sistema e le funzionalità di risparmio energetico verranno
abilitate/disabilitate automaticamente.
|
il laptop è molto vecchio |
| bluetooth |
Dipende da net-wireless/bluez, consentendo a
laptop-mode-tools di gestire le impostazioni bluetooth
(abilitando/disabilitando il servizio in base alla disponibilità della
batteria)
|
il laptop (ed il kernel) supporta il bluetooth |
| scsi |
Dipende da sys-apps/sdparm, consentendo a laptop-mode-toolsdi
gestire i parametri dei dischi SCSI (e nonSATA).
|
il laptop usa dischi SCSI |
Come si può vedere, ci sono due USE flag che sembrano andare in conflitto,
acpi e apm. Come ci si comporta in questi casi?
-
La use FLAG apm abilita il supporto per Advanced Power
Management, uno standard (precedente l'anno 2000) per la gestione
energetica all'interno di un sistema.
-
La use FLAG acpi abilita il supporto per Advanced Configuration
and Power Interface, il successore di APM. Tutti i laptop più moderni
supportani ACPI.
In base al proprio sistema, ci sarà bisogno di acpi oppure di apm.
Seguendo questa guida, si suppone che il laptop sia sufficientemente recente da
usare ACPI.
Dunque, con le USE flag impostate, si procede all'installazione di
laptop-mode-tools.
Nota:
Se è stato impostato USE="acpi", l'installazione richiederà acpid.
Tuttavia, il demone ACPI stabile al momento (2.0.9) non supporta le nuove
interfacce ACPI all'interno del kernel Linux (che fanno uso dell'interfaccia
netlink). Per cui, si raccomanda di effettuare l'unmask di
sys-power/acpid-2.0.12 (o superiori). Per maggiori informazioni
sull'unmask dei pacchetti, per favore consultare
Combinare
software affidabile e non nel Manuale Gentoo.
|
Codice 3.1: Installazione di laptop-mode-tools |
# emerge laptop-mode-tools
|
Configurazione
Avere laptop-mode-tools installato sul proprio sistema non abilita
automaticamente le funzionalità di risparmio energetico di cui si può avere
bisogno. Per configurare il pacchetto è necessario modificare
/etc/laptop-mode/laptop-mode.conf. Si tratta del file principale di
configurazione per il pacchetto ed è ben descritto (attraverso i commenti).
Ma non è l'unico file di configurazione con cui lavorare. Il pacchetto Laptop
Mode Tools supporta dei plugin (o moduli), ognuno dei quali ha uno (o più) file
di configurazione. Questi file sono contenuti in
/etc/laptop-mode/conf.d e sono chiamati in base al modulo che
rappresentano (come ad esempio intel-sata-powermgmt.conf.
Ora, una delle impostazioni più importanti in ogni file di configurazione
riguarda la gestione da parte di Laptop Mode Tools di alcune impostazioni
particolari. Ciò è importante quando si desidera unire laptop-mode-tools
con altri servizi quali cpufreqd. In questo caso di esempio, sarà
necessario impostare CONTROL_CPU_FREQUENCY=0:
Codice 3.2: Modificare /etc/laptop-mode/conf.d/cpufreq.conf |
# nano -w /etc/laptop-mode/conf.d/cpufreq.conf
CONTROL_CPU_FREQUENCY=0
|
Le sezioni successive saranno di aiuto per configurare laptop-mode-tools
in base alle proprie necessità. Una volta finito, avviare
laptop-mode-tools e assicurarsi che venga eseguito all'avvio.
Codice 3.3: Avviare il servizio laptop_mode |
# /etc/init.d/laptop_mode start
# rc-update add laptop_mode default
|
Come funziona laptop-mode-tools
All'avvio del servizio laptop_mode, il software verifica lo stato in
cui si trova il sistema. Gli stati definiti sono:
-
Batteria, nei file di configurazione contrassegnato dal prefisso
BATT_, è attivo quando il sistema funziona da batteria.
-
AC, nei file di configurazione contrassegnato dal prefisso
AC_, è attivo quando il sistema funziona da corrente elettrica.
-
Laptop Mode, nei file di configurazione contrassegnato dal prefisso
LM_, è attivo quando laptop_mode è stato attivato
-
No Laptop Mode, nei file di configurazione contrassegnato dal
prefisso NOLM_, è attivo quando laptop_mode è disabilitato
I prefissi AC/BATT_ e LM/NOLM_ possono essere combinati (per cui è
possibile avere un prefisso AC_LM_).
Quando il servizio laptop_mode è stato avviato, esso cambia modalità in
base agli eventi che si verificano (e ovviamente in base alle impostazioni di
configurazione). Ad esempio, l'impostazione
ENABLE_LAPTOP_MODE_ON_BATTERY=1 garantirà che il passaggio di laptop mode
tools a laptop_mode avvenga quando si usa la batteria.
In questo caso, verranno utilizzate tutte le impostazioni che iniziano con
LM_, LM_BATT_, BATT_LM e BATT_.
Per assicurarsi che le impostazioni non vadano in conflitto, non è consentita la
loro sovrapposizione. Nel prossimo esempio, il primo set (per CPU_MAXFREQ
è valido, mentre il secondo (per CPU_GOVERNOR non lo è.
Codice 3.4: Impostazioni in conflitto |
BATT_CPU_MAXFREQ=fastest
LM_AC_CPU_MAXFREQ=fastest
NOLM_AC_CPU_MAXFREQ=fastest
BATT_CPU_MINFREQ=fastest
LM_AC_CPU_MINFREQ=fastest
NOLM_CPU_MINFREQ=fastest
|
Configurazione per la gestione della frequenza per la CPU
Il supporto alla gestione della frequenza per la CPU nei laptop mode tools
consente di cambiare le frequenze. Supporta l'impostazione per il governor
(regolatore) della frequenza per la CPU, frequenza minima e frequenza massima.
Il file di configurazione usato è
/etc/laptop-mode/conf.d/cpufreq.conf.
Il controllo della frequenza per la CPU è una policy (politica di
gestione) del kernel, la quale definisce come il kernel andrà ad impostare
la frequenza della CPU. I regolatori desiderati sono già stati selezionati;
ora segue un breve riassunto.
-
performance seleziona sempre la frequenza più alta
-
powersave seleziona sempre la frequenza più bassa
-
userspace non seleziona nulla, ma lascia la decisione all'utente (o
qualunque processo eseguito dall'utente e che deciderà per l'utente stesso)
-
ondemand aumenta la frequenza della CPU fino alla massima disponibile
all'aumento del carico
-
conservative aumenta la frequenza della CPU gradualmente all'aumento
del carico
Al passaggio da corrente elettrica o batteria, oppure al laptop mode (che sia
attivato o disattivato), verrà selezionato il regolatore appropriato.
Configurare la luminosità dello schermo
Tramite /etc/laptop-mode/conf.d/lcd-brightness.conf è possibile
delegare ai laptop mode tools la gestione della luminosità del proprio schermo
LCD.
Il file al momento usa il file /proc/acpi/video/VID/LCD/brightness
per impostare i valori della luminosità. I kernel più recenti non forniscono più
questo parametro, per cui sarà necessario modificarlo in
/sys/class/backlight/acpi_video0/brightness
I valori consentiti sono compresi tra 0 e 15, con 0 ad indicare il valore della
luminosità più basso.
Configurazione di ulteriori servizi
Una funzionalità particolare di laptop-mode-tools è il supporto al
riavvio di specifici servizi (come il logger di sistema) dopo aver sostituito
il relativo file di configurazione. Tutto ciò viene gestito da
/etc/laptop-mode/conf.d/configuration-file-control.conf.
Se abilitata, l'applicazione laptop_mode andrà a sostituire un singolo
(o più) file di configurazione dei servizi già citati con lo stesso file, ma
con l'aggiunta del suffisso -nolm-ac, -lm-ac oppure
-batt.
Ne consegue l'arresto o il riavvio dei servizi appropriati in modo da consentire
l'uso del nuovo file di configurazione.
4.
Usare cpufreqd
Installazione
L'applicazione cpufreqd consente di gestire le frequenze della CPU in
maniera più granulare rispetto a quanto supportato in laptop-mode-tools.
Prima di passare all'installazione di cpufreqd, verranno elencate le USE
flag supportate da questa applicazione.
| USE flag |
Descrizione |
Suggerita quando... |
| acpi |
Dipende da sys-power/acpid per cui verranno rilevati i cambiamenti nel
sistema e le funzionalità di risparmio energetico verranno
abilitate/disabilitate automaticamente.
|
il laptop non è troppo vecchio (~ anno 2003 e successivi) |
| apm |
Dipende da sys-power/apmd per cui verranno rilevati i cambiamenti nel
sistema e le funzionalità di risparmio energetico verranno
abilitate/disabilitate automaticamente.
|
il laptop è molto vecchio |
| lm_sensors |
Abilita il supporto ai sensori hardware di Linux (tramite
sys-apps/lm_sensors, consentendo di modificare il profilo in base ai
risultati del sensore hardware
|
Si desidera usare eventi avanzati tramite lm_sensors
|
| nforce2 |
Abilita il supporto a NForce, consentendo a cpufreqd di modificare la
velocità di clock di NForce FSB e la frequenza della scheda video
|
Si possiede una scheda grafica NVidia basata sul chipset NForce
|
| nvidia |
Abilita il supporto alla configurazione della scheda video NVidia (tramite
l'interfaccia nvclock), consentendo a cpufreqd di modificare la
frequenza delle schede video NVidia
|
Si possiede una scheda grafica NVidia
|
| pmu |
Abilita il plugin Power Management Unit di cpufreqd. Ciò consente al
software di interrogare l'interfaccia Power Supply (alimentazione) del
kernel Linux, al fine di ottenere informazioni dettagliate sullo stato di
carica della batteria.
|
Il proprio laptop non supporta ACPI o APM
|
Le USE flag acpi, apm e pmu vanno in conflitto, per cui è
necessario averne solo una attiva. Se il laptop è sufficientemente recente,
acpi è la scelta migliore. In caso contrario, apm offre quanto
necessario. Quando neanche APM è supportato, provare pmu.
Con le USE flag configurate, è possibile installare cpufreqd.
Codice 4.1: Installazione di cpufreqd |
# emerge cpufreqd
|
Configurazione
L'applicazione cpufreqd monitora lo stato del sistema tramite diversi
plugin. Basandosi sui riscontri ottenuti da questi plugin, andrà a modificare
la policy usata per regolare la frequenza della CPU.
cpufreqd può essere configurato modificando
/etc/cpufreqd.conf. Esso contiene tre diverse sezioni:
-
La sezione [General]...[/General] contiene le informazioni generali
di configurazione
-
La sezione [Profile]...[/Profile] definisce le policy gestibili dal
demone cpufreqd. La sezione è molto simile alle informazioni usate
per la gestione manuale delle policy per la frequenza della CPU tramite
cpufreq-set
-
La sezione [Rule]...[/Rule] è la colonna portante del demone
cpufreqd, in quanto definisce le fasi in cui il demone debba passare
ad un altro profilo.
Ecco una breve regola di esempio.
Codice 4.2: Regola cpufreqd di esempio |
[Profile]
name=On Demand High
minfreq=40%
maxfreq=100%
policy=ondemand
[/Profile]
[Rule]
name=AC Off - High Power
ac=off
battery_interval=70-100
profile=On Demand High
[/Rule]
|
Nell'esempio precedente, cpufreqd passerà al profilo On Demand
High (mostrato anche nell'estratto precedente). Questo profilo usa il
regolatore ondemand con una frequenza minima del 40% (in altre parole,
una CPU di 2Ghz vedrà la sua frequenza abbassata a 800Mhz).
Come si può vedere, l'applicazione cpufreqd offre un approccio più
dettagliato nel modificare la frequenza della CPU. Ma non solo: è possibile
modificare la politica di cambio della frequenza in base ad altri parametri. La
configurazione predefinita include una regola di esempio per vedere un film, o
la necessità di alte performance, a meno che la temperatura della CPU non
non arrivi a livelli elevati.
Ora si può avviare il demone cpufreqd. Aggiungerlo ai runlevel default e
battery come mostrato di seguito.
Codice 4.3: Avvio di cpufreqd |
# rc-update add cpufreqd default
# /etc/init.d/cpufreqd start
|
5.
Risorse
Strumenti
Articoli e guide
-
Un articolo di ThinkWiki su
come ridurre il consumo energetico (su Linux). Questo articolo offre
un elenco esaustivo di misure possibili da prendere. Tuttavia, si noti che
laptop mode tools implementa la maggior parte di esse (se configurati
correttamente).
I contenuti di questo documento sono rilasciati sotto la licenza Creative
Commons - Attribution / Share Alike.
|