Sep 142010
 

green linuxNo, non voglio parlarvi dell’ultima MINT uscita, ma di come è possibile applicare praticamente alcuni accorgimenti per fare il nostro desktop un po più orientato alla natura.
Comunque lasciatemi dire che grazie alla sceltadi Linux come sistema operativo siete già sulla scelta filosofica più vicina alla natura:

  • Richiede meno risorse: Le distribuzioni Linux richiedono in media meno risorse, quindi l’hardware può essere utilizzato per più tempo.
  • KM 0: La filosofica Open Source si basa molto sui volontari che da casa lavorano e contribuiscono ai vari progetti.
  • Meno incarti: Linux è distribuito principalmente via download ed i manuali si trovano in formato digitale.
  • Più Economico: Essendo molti software disponibili liberamente non dobbiamo lavorare per acquistarli.

Ma tornando alla pratica tratterò di

  • Tickless kernel, che permette al processore di riposare tra i vari task
  • PowerTop per visualizzare cosa consuma di più sul nostro desktop



Tickless Idle

Introduzione

Tradizionalmente, il kernel Linux utilizzato un timer periodico per ogni CPU. Questo timer ha una varietà di cose, come la contabilità di processo, il bilanciamento del carico di pianificazione, e il mantenimento per eventi timer-CPU. I più vecchi kernel Linux utilizzavano un timer con una frequenza di 100Hz (100 eventi timer al secondo o un evento ogni 10 ms), mentre i nuovi kernel usano un valore di 250Hz (250 eventi al secondo o di un evento ogni 4 ms) o 1000Hz (1000 eventi al secondo o un evento ogni 1ms).

Questo evento timer periodico è spesso chiamato “il timer tick”. Il timer tick è semplice nel suo design, ma ha un serio inconveniente: il timer tick accade periodicamente, indipendentemente dallo stato del processore, che sia inattivo o occupato. Se il processore è inattivo, deve svegliarsi dal suo stato di sonno che risparmia energia ogni 1, 4 o 10 millisecondi. Questo costa un po’ di energia, diminuendo la durata della batteria nei laptop e provocando un inutile consumo di energia nei server.

Con “tickless idle”, il kernel di Linux ha eliminato questo timer periodico quando la CPU è inattiva. Questo permette alla CPU di rimanere in uno stato di risparmio energetico per un periodo di tempo più lungo, riducendo il consumo complessivo di energia del sistema.

E’ importante notare che i benefici di tickless idle andranno persi se la CPU è spesso svegliato da eventi timer non necessari. Ci sono una varietà di miglioramenti e patch che si basano sulla caratteristica “tickless idle” e che prevedono risparmi incrementali di elettricità.
Sebbene il kernel tickless spesso è attivata per impostazione predefinita, è possibile controllare per vedere se hai attivato con il seguente comando:

cat /boot/config-$(uname -r) | grep CONFIG_NO_HZ

Se l’output è CONFIG_NO_HZ=y, il tickless kernel è abilitato. CONFIG_NO_HZ=n significa che non lo è.

Ubuntu 10.04:
Il kernel -generic è 250Hz e credo che il kernel -server sia 100Hz, il kernel -rt è compilato per 1000Hz,-generic e -rt hanno entrambi CONFIG_NO_HZ=y.

Verificate anche il vostro kernel, se è compilato da sorgente potreste esservi dimenticati di questa opzione.

Check:

Tickless Idle
The Impact Of A Tickless Kernel

PowerTOP è uno strumento di Linux che trova il/i componente/i software che aumentano l’utilizzo dell’alimentazione dei computer portatile mentre è inattivo. A partire dal kernel Linux versione 2.6.21, il kernel non ha più un timer fissato 1000Hz tick. In questo modo (in teoria) si ha un risparmio energetico enorme perché la CPU rimane in modalità a bassa potenza per periodi di tempo più lunghi durante il regime di inattività.

Tuttavia … ci sono molte cose che possono rovinare la festa, sia all’interno del kernel che in userspace. PowerTOP combina varie fonti di informazione da parte del kernel in una comoda schermata in modo da poter vedere come il sistema sia facendo e quali componenti sono il problema principale.

Requisiti
PowerTOP per funzionare al meglio, si deve utilizzare un kernel Linux con la tickless idle (NO_HZ) attivata (versione 2.6.21 o successiva).

PowerTOP funziona meglio su un computer portatile, o almeno un computer con un processore Intel mobile (alcuni piccoli dispositivi non-laptop contengono anche un processore mobile). Quando si utilizza PowerTOP su un laptop, farlo durante il funzionamento a batteria.
powertop

C-state information.
C-state sono modalità di funzionamento della CPU quando è inattivo. Più alto è il numero C-state meno potenza è utilizzata dalla CPU, ma più tempo ci vorrà per ottenere il ritorno della CPU alla esecuzione delle istruzioni.
C0 è speciale – in C0, la CPU è in realtà in esecuzione di istruzioni. In tutti gli altri C-states, la CPU è inattivo e non esegue istruzioni.

Per ottenere un risparmio energetico decente durante idle, la CPU dovrebbe essere in C3 o C4 per la maggior parte del tempo. Inoltre, più lungo è il tempo medio di questi stati-C, più potenza viene salvata. Idealmente, la CPU spende almeno il 95% del suo tempo in C4, per una media di 50 o più millisecondi.

Nello screenshot, il portatile non sta andando molto bene. La maggior parte del tempo il processore è in C2, e solo per una media di 4,4 millisecondi per volta. Se il computer portatile trascorresse la maggior parte del suo tempo in C4 per almeno 20 millisecondi, la durata della batteria sarebbe di circa un’ora di più.

Wakeups al secondo
I “risvegli al secondo” è un altro indicatore di quanto bene sta facendo il vostro computer portatile in termini di risparmio di potenza, minore è il numero, meglio è. Quando si sta usando un desktop GNOME, una valore di 3 wakeups al secondo è realizzabile.

Il portatile nella schermata non sta facendo molto bene (193 è molto più di 3!), Che corrisponde, ovviamente, ai risultati C-state.

Potenza di utilizzo
Quando il vostro portatile è alimentato dalla batteria, PowerTOP utilizza ACPI per raccogliere informazioni su quanta potenza si sta utilizzando. Inoltre, PowerTOP calcola una stima di quante ore di batteria hai ancora.

Nota: Se non si è alimentato a batteria, o PowerTOP non è in esecuzione su un computer portatile queste informazioni non saranno disponibili.

Le cause principali di wakeups
Ora che sappiamo che il portatile non sta facendo bene in termini di consumo di energia, guardiamo la parte interessante: ciò che sta causando al sistema di essere più attivo di quello che è necessario.

PowerTOP visualizza le prime 10 attività sul computer durante il periodo di campionamento. Nella schermata, le prime 3 voci sono degli interupts da dispositivi hardware. Questo dimostra anche uno dei motivi chiave per cui il portatile non sta andando bene – era collegato alla rete tramite un cavo ethernet, ma il driver wireless ipw2200 sta svegliando la CPU molto frequentemente. Inoltre è evidente un bug nel driver grafico i915 e attività da parte della componente i8042 (questa è la PS/2 chip, l’attività indicata è il movimento del mouse per effettuare lo screenshot).

La schermata mostra anche che su questo portatile, Firefox, xchat e Xorg sono molto attivi, provocando una notevole quantità di attività di consumo di energia.

Suggerimenti
L’ultima sezione visualizza dei suggerimenti a schermo – PowerTOP ha rilevato che il kernel in esecuzione è configurato subottimale e suggerisce come migliorarlo.

C’e’ una ottima sezione di tips and tricks nel sito del software: http://www.linuxpowertop.org/

Green Linux

L’iniziativa Green Linux non è un software ma un gruppo di lavoro organizzato dalla Linux Foundation per migliorare la gestione dell’energia in Linux. Il gruppo di lavoro è nato per favorire la collaborazione tra gli sviluppatori del kernel, i produttori di hardware, fornitori di sistemi, distribuzioni, e gli utenti finali per capire e soddisfare i requisiti per una gestione più  efficace dell’energia in Linux. Una migliore gestione energetica è un requisito per quasi tutti gli ambienti Linux.

Per i dispositivi mobili e computer portatili, Green Linux può significare aumentare in modo significativo la vita della batteria e migliori prestazioni. Per desktop e server, gestione energetica migliore può portare a riduzioni significative dei costi operativi. Una migliore gestione di potenza in ambienti virtualizzati permette di condividere più macchine virtuali  sullo stesso hardware. In molti ambienti di data center, il potere e il calore che un server genera è il fattore limitante sia per potenza di elaborazione che di costo. In un soggiorno dove si usa un set top box, il cliente vuole di solito limitare la produzione di calore per ridurre anche il rumore di ventole o perché il dispositivo non ha alcuna ventola del tutto. In tutti i casi, meno consumo di energia c’e’  e  meglio è per l’ambiente.

Popular Posts:

Flattr this!

  4 Responses to “Linux per un desktop Verde”

  1. Edifying article. Thank you.

  2. Great work.

  3. Thanks to both, while writing this article i noticed that my Kernel on the Laptop (Gentoo 64 bit) was missing the tickless feature.

  4. […] Questo è un piccolo followup dal mio articolo Linux Desktop “verde” […]

Leave a Reply to linuxari Cancel reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)

*