Old:Powernowd: CpuScaling per AMD: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
m (→‎Configurazione: aggiunta descrizione pooling)
 
(20 versioni intermedie di 8 utenti non mostrate)
Riga 1: Riga 1:
== Introduzione ==
{{Old}}
==Introduzione==


Se state leggendo questa guida penso conosciate gi� la mitica distribuzione live [http://www.damnsmalllinux.org/ Damn Small Linux] che in soli 50 MB vanta un sistema Linux e un corredo software davvero impressionante. Damn Small Linux, o DSL come la chiameremo di seguito, � una derivata di Debian ristretta fino all'osso al fine di non superare il limite di 50 MB, tuttavia � facilmente espandibile tramite le estensions che permettono di trasformare DSL in un sistema Debian-like completo.
Con l'aumentare delle frequenze dei processori, è aumentato il consumo di energia da parte di questi componenti.
Così sono state introdotte delle nuove tecnologie per il risparmio energetico, tra cui la 'Speed Steps'.
Questa tecnologia rende possibile ridurre la frequenza a cui lavora un processore, limitando così il consumo di energia e la produzione di calore (così da ridurre il tempo in cui è in funzione la ventola e, di conseguenza, il consumo energetico).


In questa guida vedremo come fare avviare Damn Small Linux direttamente da chiavetta USB, senza bisogno di bruciare un cd.  
Fortunamente è disponibile un comodo demone che si occupa di gestire questa caratteristica: [http://packages.debian.org/squeeze/powernowd powernowd]. A dispetto del nome questo demone '''è compatibile con tutte le cpu''' che supportano cpufreq.


Usando una chiavetta avremo il vantaggio di poter salvare le nostre impostazioni e/o aggiungere altro software nella chiavetta stessa, ottendendo cos� un sistema live (basta inserire la chiavetta in qualsiasi pc che supporta il boot da disposistivi USB) estremamente compatto e soprattutto modificabile al volo (cosa impossibile con un normale cd). Inoltre sia la compattezza della distribuzione che la velocit� dei dispositivi USB2 permettono di ottenere prestazioni superiori ad un normale livecd. E' addirittura possibile caricare l'intero sistema in ram (basta passare l'opzione <tt>toram</tt> al boot), con conseguente apertura fulminea di qualsiasi applicazione ;-).
==Kernel==


L'unico prequisito � che la scheda madre supporti il boot da periferica USB (molti produttori stanno rendendo disponibile questa funzionalit� attraverso nuovo firmware BIOS). Ed una chiavetta USB di almeno 50 MB, of course ;-).
Per poter utilizzare questa tecnologia, è necessario abilitare le seguenti voci nella configurazione del kernel:
<pre>
CONFIG_CPU_FREQ
CONFIG_CPU_FREQ_GOV_USERSPACE
CONFIG_CPU_FREQ_GOV_ONDEMAND
CONFIG_CPU_FREQ_TABLE
CONFIG_X86_ACPI_CPUFREQ
CONFIG_X86_POWERNOW_K7
CONFIG_X86_POWERNOW_K7_ACPI
</pre>


Se la vostra scheda madre non supporta il boot da periferiche USB, dovrete preparare un floppy od un cd per il boot. Questo argomento '''non � trattato nella guida'''.
Oltre ad abilitare il supporto per l'ACPI (necessario).
Consiglio di compilare tutto staticamente (si guadagna un po' di tempo al boot), ma teoricamente dovrebbero essere presenti come moduli anche all'interno del kernel di default Debian.


== Formattazione della chiavetta ==
==Installazione==
Nel classico stile Debian, è sufficiente un banale:
<pre>
# apt-get install powernowd
</pre>
Così verrà installato e messo in esecuzione il demone.


Se la vostra chiavetta contiene gi una partizione un filesystem fat16 (o fat32) non dovremo formatarla e potremo anche lasciare gli altri eventuali file presenti che non daranno fastidio.


Se invece dovete formattare la chiavetta, consiglio di creare un unica partizione avviabile con <tt>cfdisk</tt> e creare un filesystem fat16 con <tt>mkfs.vfat</tt>:
==Configurazione==


# mkfs.vfat -n nome -F 16 /dev/sda1
Le opzioni impostate di default possono essere modificate, così da adattarsi maggiormente alle proprie esigenze.


== Copia dei file e preparazione della chiavetta ==
Ecco una lista delle opzioni disponibili:
; <code>-h</code> : Visualizza un messaggio di aiuto<br/>
; <code>-d</code> : Impedisce l'esecuzione in background, lasciandolo legato al terminale da cui viene lanciato<br/>
; <code>-v</code> : Verbose<br/>
; <code>-q</code> : Riporta solo eventuali errori<br/>
; <code>-m</code> : Modalità di gestione della frequenza: 0 = SINE, 1 = AGGRESSIVE (default), 2 = PASSIVE, 3 = LEAPS<br/>
; <code>-s</code> : Gli step di frequenza in kHz (default = 100000)<br/>
; <code>-p</code> : Tempo di pooling in ms -- ovvero ogni quanto tempo viene controllato l'uso della cpu (default = 1000)<br/>
; <code>-u</code> : Limite superiore di utilizzo della CPU [0 .. 100, default 80]<br/>
; <code>-l</code> : Limite minimo di utilizzo della CPU [0 .. 100, default 20]<br/>


Scarichiamo la [http://ftp.belnet.be/packages/damnsmalllinux/current/dsl-2.0.iso iso di DSL] (usate la versione normale, non la syslinux, embedded ecc...).


Eseguiamo le seguenti operazioni di semplice copia e rinominazione di file:
===Le modalità disponibili===


# mkdir dsl_temp
; 0, SINE : Scala la frequenza per "step" in base al carico del processore.<br/>
# mkdir dsl_usb
; 1, AGGRESSIVE : Salta immediatamente alla frequenza massima quando l'utilizzo della CPU supera il limite massimo, scala lentamente la frequenza se l'utilizzo del processore scende sotto il limite minimo. Default.<br/>
# mount -o loop dsl-0.8.3.iso dsl_temp
; 2, PASSIVE : L'inverso di 'AGGRESSIVE'. Salta immediatamente alla frequenza minima quando l'utilizzo scende sotto il limite minimo di utilizzo della CPU e sale lentamente fino al massimo in caso di utilizzo del processore superiore al limite massimo;<br/>
# cp -a dsl_temp/* dsl_usb
; 3, LEAPS : salta immediatamente alla frequenza massima in caso di utilizzo della CPU maggiore del limite massimo, e salta immediatamente alla frequenza minima in caso di utilizzo della CPU minore del limite minimo.<br/>
# cd dsl_usb
# mv boot/isolinux/* ./
# rm -Rf boot
# mv isolinux.bin syslinux.bin
# mv isolinux.cfg syslinux.cfg
# cd..
# mkdir usb_pen
# mount -t vfat /dev/sda1 usb_pen
# cp -a dsl_usb/* usb_pen
# umount usb_pen


Ora prepariamo il [MBR] della chiavetta con:
Facendo un piccolo riassunto:<br/>
Risparmio energetico massimo: PASSIVE<br/>
Performance massime: AGGRESSIVE / LEAPS<br/>
Medio: SINE<br/>


# syslinux /dev/sda1
Per passare all'applicazione le opzioni che più ci aggradano è necessario modificare il file <code>/etc/init.d/powernowd</code> specificando, all'interno della variabile <code>'''OPTIONS'''</code> le opzioni scelte!


Se non avete l'ultimo comando (syslinux) potete installarlo tramite [APT] oppure tramite gli usuali strumenti forniti dalla vostra distribuzione.
Nel mio caso:
<pre>
OPTIONS="-q -m2"
</pre>


== Boot di DSL ==
Per applicare le modifiche apportate, è sufficiente eseguire lo script sopra citato con l'azione restart:
<pre>
# /etc/init.d/powernowd restart
</pre>


A questo punto non ci resta che sezionare il boot tramite dispositivo USB ed avviare il pc.
==Conclusione==


Per avviare il sistema in lingua italiana digitare:
Con questo trucchetto la durata della batteria del mio portatile arriva tranquillamente fino a 2 ore (ovviamente senza utilizzare applicazioni troppo pesanti)


dsl lang=it
{{Autori
 
|Autore = [[User:MaXeR|MaXeR]]
(il segno di uguale si fa con il tasto '�' della tastiera italiana)
}}
 
E in pochi secondi dovrebbe caricarsi il sistema DSL.
 
{{Warningbox|Se non riuscite a fare il boot dalla chiavetta (cio� non appare neanche il logo iniziale di DSL) provate a formattare la chiavetta seguendo le [[#Formattazione della chiavetta|precendenti istruzioni]]. Nel caso non riusciste ancora a fare il boot la vostra chiavetta non � compatibile con questo procedimento. Per qualche strano motivo, infatti, alcune chiavette non sono in grado di fare il boot del sistema :-(. Purtroppo, in questi casi, non consco altre soluzioni se non cambiare chiavetta.}}
 
== Configurazione di DSL ==
 
DSL � stato concepito come livecd, quindi monta il dispositivo da cui effettua il boot in <tt>/cdrom</tt>. Quindi anche nel nostro caso la chiavetta <tt>/dev/sda1</tt> sar� montata in <tt>/cdrom</tt>, e sar� '''non''' scrivibile. Rimontamola in lettura-scrittura:
 
$ su 
# mount -o remount,rw /cdrom
 
Per far si che all'avvio di DSL la chiavetta venga montata automaticamente in rw basta agguingere a <tt>/opt/bootlocal.sh</tt> il precedente comando di mount. Quindi non ci resta che salvare le impostazioni aprendo il pannello di controllo di DSL (sul Desktop) e selezionando in "Backup/Restore" '''sda1''' (''senza /dev/ !'') come dispositivo di backup.
 
Potremo anche aggiungere a <tt>/opt/bootlocal.sh</tt> il comando per caricare la tastiera italiana:
 
loadkeys it
 
in tal modo non dovremo pi� passare al boot il paramentro <tt>lang=it</tt>.
 
Il bello � anche che se si scarica nuovo software (tramite ad esempio le estensions di DSL) e si salva nella home, poich� viene di default fatto un backup di tutta la home, ai successivi riavvi avremo il software gi� disponibile senza doverlo riscaricare.
 
Ora, normalmente, quando si effettua un backup delle impostazioni di DSL � necessario usare al boot l'opzione <tt>restore=sda1</tt>. Tuttavia nel nostro caso anche questo � superfluo perch� DSL cerca automaticamente un eventuale backup nello stesso dispositivo dal quale parte. Quindi all'avvio '''non dovremo far altro che premere <tt>INVIO</tt>''' e DSL caricher� le nostre impostazioni, tastiera italiana, e software aggiuntivo compresi ;-).
 
In tal modo � possibile crearsi in pochi minuti una versione personalizzata di DSL da portarsi sempre dietro in una chiavetta assieme ai prorpi dati ;-).
 
Se iniziate ad usare DSL una lettura alle FAQ � d'obbligo (dove troverete queste ed altre informazioni).
 
Happy Hacking !
 
== Links ==
 
* [http://www.damnsmalllinux.org/ Homepage Damn Small Linux]
* [http://www.damnsmalllinux.org/wiki/index.php/Main_Page Wiki di Damn Small Linux]
* [http://www.damnsmalllinux.org/wiki/index.php/Frequently_Asked_Questions FAQ di Damn Small Linux]
* [http://wiki.debian.org/BootUsb Wiki Debian: Boot da USB]
 
 
----
Autore: [[Utente:TheNoise|~ The Noise]] 05:14, Gen 8, 2006 (EST)

Versione attuale delle 11:29, 25 giu 2016

Emblem-important.png Attenzione. Questa guida è obsoleta. Viene mantenuta sul Wiki solo per motivi di natura storica e didattica.


Introduzione

Con l'aumentare delle frequenze dei processori, è aumentato il consumo di energia da parte di questi componenti. Così sono state introdotte delle nuove tecnologie per il risparmio energetico, tra cui la 'Speed Steps'. Questa tecnologia rende possibile ridurre la frequenza a cui lavora un processore, limitando così il consumo di energia e la produzione di calore (così da ridurre il tempo in cui è in funzione la ventola e, di conseguenza, il consumo energetico).

Fortunamente è disponibile un comodo demone che si occupa di gestire questa caratteristica: powernowd. A dispetto del nome questo demone è compatibile con tutte le cpu che supportano cpufreq.

Kernel

Per poter utilizzare questa tecnologia, è necessario abilitare le seguenti voci nella configurazione del kernel:

CONFIG_CPU_FREQ
CONFIG_CPU_FREQ_GOV_USERSPACE
CONFIG_CPU_FREQ_GOV_ONDEMAND
CONFIG_CPU_FREQ_TABLE
CONFIG_X86_ACPI_CPUFREQ
CONFIG_X86_POWERNOW_K7
CONFIG_X86_POWERNOW_K7_ACPI

Oltre ad abilitare il supporto per l'ACPI (necessario). Consiglio di compilare tutto staticamente (si guadagna un po' di tempo al boot), ma teoricamente dovrebbero essere presenti come moduli anche all'interno del kernel di default Debian.

Installazione

Nel classico stile Debian, è sufficiente un banale:

# apt-get install powernowd

Così verrà installato e messo in esecuzione il demone.


Configurazione

Le opzioni impostate di default possono essere modificate, così da adattarsi maggiormente alle proprie esigenze.

Ecco una lista delle opzioni disponibili:

-h
Visualizza un messaggio di aiuto
-d
Impedisce l'esecuzione in background, lasciandolo legato al terminale da cui viene lanciato
-v
Verbose
-q
Riporta solo eventuali errori
-m
Modalità di gestione della frequenza: 0 = SINE, 1 = AGGRESSIVE (default), 2 = PASSIVE, 3 = LEAPS
-s
Gli step di frequenza in kHz (default = 100000)
-p
Tempo di pooling in ms -- ovvero ogni quanto tempo viene controllato l'uso della cpu (default = 1000)
-u
Limite superiore di utilizzo della CPU [0 .. 100, default 80]
-l
Limite minimo di utilizzo della CPU [0 .. 100, default 20]


Le modalità disponibili

0, SINE
Scala la frequenza per "step" in base al carico del processore.
1, AGGRESSIVE
Salta immediatamente alla frequenza massima quando l'utilizzo della CPU supera il limite massimo, scala lentamente la frequenza se l'utilizzo del processore scende sotto il limite minimo. Default.
2, PASSIVE
L'inverso di 'AGGRESSIVE'. Salta immediatamente alla frequenza minima quando l'utilizzo scende sotto il limite minimo di utilizzo della CPU e sale lentamente fino al massimo in caso di utilizzo del processore superiore al limite massimo;
3, LEAPS
salta immediatamente alla frequenza massima in caso di utilizzo della CPU maggiore del limite massimo, e salta immediatamente alla frequenza minima in caso di utilizzo della CPU minore del limite minimo.

Facendo un piccolo riassunto:
Risparmio energetico massimo: PASSIVE
Performance massime: AGGRESSIVE / LEAPS
Medio: SINE

Per passare all'applicazione le opzioni che più ci aggradano è necessario modificare il file /etc/init.d/powernowd specificando, all'interno della variabile OPTIONS le opzioni scelte!

Nel mio caso:

OPTIONS="-q -m2"

Per applicare le modifiche apportate, è sufficiente eseguire lo script sopra citato con l'azione restart:

# /etc/init.d/powernowd restart

Conclusione

Con questo trucchetto la durata della batteria del mio portatile arriva tranquillamente fino a 2 ore (ovviamente senza utilizzare applicazioni troppo pesanti)




Guida scritta da: MaXeR Swirl-auth20.png Debianized 20%
Estesa da:
Verificata da:

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