Gentoo Logo

Guida alla gestione energetica

Indice:

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

## Set valido
BATT_CPU_MAXFREQ=fastest
LM_AC_CPU_MAXFREQ=fastest
NOLM_AC_CPU_MAXFREQ=fastest

## Set non valido
BATT_CPU_MINFREQ=fastest
LM_AC_CPU_MINFREQ=fastest
# Il seguente include AC e BATT, ma BATT è già stato
definito
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:

  1. La sezione [General]...[/General] contiene le informazioni generali di configurazione
  2. 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
  3. 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).


Stampa

Aggiornato il 13 gennaio 2013

La versione originale di questo documento non è più mantenuta

Oggetto: Negli ultimi anni, la gestione energetica è diventata una delle caratteristiche a fare la differenza nella ricerca al laptop perfetto. Ancora una volta, il sistema operativo deve supportare le varie funzionalità di gestione energetica. In questa guida, verrà spiegato come configurare l'installazione di Gentoo in modo da gestire le risorse esose di energia in maniera flessibile e del tutto automatica.

Sven Vermeulen
Autore

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.