Modulare il funzionamento di una CPU: differenze tra le versioni

m
m (Evidenziati i comandi da impartire come root + modifiche minori)
 
(12 versioni intermedie di 3 utenti non mostrate)
Riga 1: Riga 1:
{{Versioni compatibili|Squeeze|Wheezy|Sid}}
{{Versioni compatibili|Jessie|Stretch|Buster}}
 
== Introduzione ==
== Introduzione ==
Ormai da anni esiste la possibilità di regolare il funzionamento della CPU di una macchina per meglio rispondere alle esigenze dell'utente, ma mentre inizialmente era necessario ricorrere a programmi appositi, con le ultime versione del kernel (>= 2.6.12) di Linux questa necessità è venuta meno.<br/>
Ormai da anni esiste la possibilità di regolare il funzionamento della CPU di una macchina per meglio rispondere alle esigenze dell'utente, ma mentre inizialmente era necessario ricorrere a programmi appositi, con le ultime versione del kernel (>= 2.6.12) di Linux questa necessità è venuta meno.<br/>
Di più, la modulazione della CPU è divenuta la condizione standard, tanto da essere abilitata automaticamente all'avvio del computer grazie all'utilizzo del pacchetto <code>cpufrequtils</code>, di norma già installato durante l'installazione del sistema operativo.<br/>
Di più, la modulazione della CPU è divenuta la condizione standard, tanto da essere abilitata automaticamente all'avvio del computer grazie ai moduli cpufreq del kernel, e modificabile dai file system sysfs e procfs del kernel.
Si noti che tale pacchetto permette di regolare la frequenza della CPU attraverso entrambe le interfacce CPUFreq, sysfs e procfs, del kernel.
 
== Applet GNOME ==
 
Nel caso di GNOME il metodo più semplice per variare la modalità di funzionamento della CPU è aggiungere al pannello l'applet ''Variazione Frequenza CPU''. Fatto ciò comparirà un icona raffigurante un chip e una barra colorata indicante l'attuale frequenza di funzionamento della CPU come frazione della frequenza massima ammissibile.<br/>
Cliccando col tasto sinistro sulla suddetta icona verrà mostrato sia l'elenco delle frequenze che delle modalità di funzionamento permesse; basta cliccare quindi sul valore desiderato, immettere la password di amministratore quando richiesto, e i suddetti parametri verranno modificati.<br/>
Si noti che:
# ogni applet gestisce un core e di default viene gestito il primo core (cpu0), è quindi necessario aggiungere tante applet quanti sono i propri core e cliccando col tasto destro su ciascuna di esse selezionare un differente core;
# le variazioni sono temporanee e pertanto andranno perse al successivo avvio del sistema. Per introdurre modifiche permanenti si veda l'apposita sezione.


== Terminale ==
== Terminale ==
È possibile determinare l'attuale frequenza della CPU in due modi, in primis digitando:
È possibile determinare l'attuale frequenza della CPU in due modi, in primis digitando:
<pre>$ cat /proc/cpuinfo</pre>
<pre>$ cat /proc/cpuinfo</pre>
Riga 23: Riga 11:
Per conoscere le frequenze di funzionamento ammissibili (espresse in [kHz]):
Per conoscere le frequenze di funzionamento ammissibili (espresse in [kHz]):
<pre>$ cat /sys/devices/system/cpu/*/cpufreq/scaling_available_frequencies </pre>
<pre>$ cat /sys/devices/system/cpu/*/cpufreq/scaling_available_frequencies </pre>
Conoscendo tali valori è possibile impostare coerentemente i valori massimo e minimo con i seguenti comandi:
Conoscendo tali valori, è possibile impostare coerentemente i valori massimo e minimo con i seguenti comandi (con [[privilegi di amministrazione]]):
<pre>
<pre>
# echo valore > /sys/devices/system/cpu/*/cpufreq/scaling_max_freq
# echo valore > /sys/devices/system/cpu/*/cpufreq/scaling_max_freq
Riga 41: Riga 29:
Per impostare ad esempio la modalità ''conservative'' in tutti i core:
Per impostare ad esempio la modalità ''conservative'' in tutti i core:
<pre># echo conservative > /sys/devices/system/cpu/*/cpufreq/scaling_governor</pre>
<pre># echo conservative > /sys/devices/system/cpu/*/cpufreq/scaling_governor</pre>
Qualora il precedente comando dovesse restituire un avviso di "ambiguous redirect" sostituire al carattere "*" uno alla vota il core desiderato (cpu0, cpu1, ecc.).<br/>
'''NOTA BENE''': la sintassi dei comandi per visualizzare e modificare i valori dei vari parametri elencati nel seguito è sempre la stessa, ovvero:
'''NOTA BENE''': la sintassi dei comandi per visualizzare e modificare i valori dei vari parametri elencati nel seguito è sempre la stessa, ovvero:
<pre>$ cat percorso_parametro/parametro</pre>
<pre>$ cat percorso_parametro/parametro</pre>
Riga 68: Riga 57:


== Rendere permanenti le modifiche ==
== Rendere permanenti le modifiche ==
È sufficiente installare il pacchetto <code>cpufrequtils</code>. Creerà lo script d'avvio <code>/etc/init.d/cpufrequtils</code>, e renderà disponbibili anche i comandi <code>cpufreq-info</code> e <code>cpufreq-set</code>, senza più bisogno di leggere i valori dai filesystem in <code>/proc</code> and <code>/sys</code>.
Se ci si limita a cambiare la modalità di funzionamento, per esempio da ''Ondemand'' a ''Conservative'' nel caso dei portatili, è sufficiente creare o modificare il file <code>/etc/default/cpufrequtils</code>, per esempio con [[nano]]:
<pre># nano /etc/default/cpufrequtils</pre>
e scrivere (o cambiarla, se già presente) la riga <code>GOVERNOR="conservative"</code>. È anche possibile cambiare i valori delle frequenze massima e minima, purché permesso dalla modalità scelta, attraverso le variabili <code>MAX_SPEED</code> e <code>MIN_SPEED</code>.


Se ci si limita a cambiare la modalità di funzionamento, per esempio da ''Ondemand'' a ''Conservative'' nel caso dei portatili, è sufficiente editare il file <code>/etc/init.d/cpufrequtils</code>
<pre># nano /etc/init.d/cpufrequtils</pre>
e cercare la variabile <code>GOVERNOR="ondemand"</code> cambiandola in <code>GOVERNOR="conservative"</code>. È anche possibile cambiare i valori delle frequenze massima e minima, purché permesso dalla modalità scelta, attraverso le variabili <code>MAX_SPEED</code> e <code>MIN_SPEED</code> .<br/>
Qualora si intendesse modificare altri parametri sarebbe necessario ricorrere ad altre strade, come ad esempio editare il file <code>/etc/rc.local</code> o installare le <code>sysfsutils</code>.
Qualora si intendesse modificare altri parametri sarebbe necessario ricorrere ad altre strade, come ad esempio editare il file <code>/etc/rc.local</code> o installare le <code>sysfsutils</code>.


== Riferimenti esterni ==
== Regolazione dinamica ==
È possibile modificare il livello in modo dinamico installando il pacchetto <code>cpufreqd</code>, in base al verificarsi di diverse condizioni, anziché avere sempre la stessa modalità, modificabile solo manualmente. Per maggiori informazioni si rimanda a [[Cpufreqd:_Un_demone_per_il_CPU_frequency_scaling|questa guida]].


== Approfondimenti ==
<code>$ man cpufreq-info</code><br/>
<code>$ man cpufreq-set</code>
=== Sitografia ===
[http://www.pantz.org/software/cpufreq/usingcpufreqonlinux.html CPUFreq on Linux]
[http://www.pantz.org/software/cpufreq/usingcpufreqonlinux.html CPUFreq on Linux]


 
{{Autori
 
|Autore = [[Utente:Wtf|Wtf]] 15:18, 24 ago 2011 (CEST)
{{Suggerimento|Per favore se modifichi questa guida aggiungi nel box "NOTE" sottostante "Estesa da: mio_nome_utente", se invece l'hai semplicemente consultata, ma ne hai verificato personalmente la correttezza, aggiungi sempre nello stesso box "Verificata da: mio_nome_utente". In questo modo aiuti la comunità a tenere traccia della [http://guide.debianizzati.org/index.php/Aiuto:Contents#Evoluzione_delle_guide maturità] della guida.}}
|Estesa_da =
 
|Verificata_da =
{{Box|NOTE|Autore: [[Utente:Wtf|Wtf]] 15:18, 24 ago 2011 (CEST)
:[[Utente:HAL 9000|HAL 9000]] 09:30, 28 lug 2019 (CEST)
|Numero_revisori = 1
}}
}}


[[Categoria:Ottimizzazione del sistema]]
[[Categoria:Ottimizzazione del sistema]]
[[Categoria:Computer portatili]]
[[Categoria:Computer portatili]]
3 581

contributi