Modulare il funzionamento di una CPU: differenze tra le versioni

Riga 18: Riga 18:
e leggendo la riga ''CPU MHz'', alternativamente digitando
e leggendo la riga ''CPU MHz'', alternativamente digitando
<pre>$ cat /sys/devices/system/cpu/*/cpufreq/scaling_cur_freq</pre>
<pre>$ cat /sys/devices/system/cpu/*/cpufreq/scaling_cur_freq</pre>
Per conoscere le frequenze di funzionamento ammissibili
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
Riga 25: Riga 25:
$ echo valore > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
$ echo valore > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
</pre>
</pre>
Impostare manualmente il massimo e il minimo ha senso solo se:
Ad esempio per impostare una frequenza minima di 1,2 GHz:
<pre>$ echo 1200000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq</pre>
visto che come già scritto le frequenze devono essere specificate in [kHz]. Impostare manualmente il massimo e il minimo ha senso solo se:
# la modalità di funzionamento scelta (si veda più avanti) permette di variare la frequenza di funzionamento;
# la modalità di funzionamento scelta (si veda più avanti) permette di variare la frequenza di funzionamento;
# la propria CPU supporta almeno tre distinte frequenze di funzionamento, cosa non sempre vera nel caso di processori desktop. A titolo d'esempio le CPU Intel Core Duo 2 e Celeron D supportano in genere solo due differenti frequenze, le CPU Athlon X2 tre e la CPU sempron 145 quattro.<br/>
# la propria CPU supporta almeno tre distinte frequenze di funzionamento, cosa non sempre vera nel caso di processori desktop. A titolo d'esempio le CPU Intel Core Duo 2 e Celeron D supportano in genere solo due differenti frequenze, le CPU Athlon X2 tre e la CPU sempron 145 quattro.<br/>
Riga 41: Riga 43:
**<code>scaling_max_freq</code> e <code>scaling_min_freq</code>, già descritti.
**<code>scaling_max_freq</code> e <code>scaling_min_freq</code>, già descritti.
** <code>/sys/devices/system/cpu/cpu0/cpufreq/conservative/sampling_rate</code> l'attuale frequenza di campionamento del carico della CPU in microsecondi [10^(-6)*s].
** <code>/sys/devices/system/cpu/cpu0/cpufreq/conservative/sampling_rate</code> l'attuale frequenza di campionamento del carico della CPU in microsecondi [10^(-6)*s].
***<code>/sys/devices/system/cpu/cpu0/cpufreq/conservative/sampling_rate_min</code> minima frequenza di campionamento ammissibile del carico della CPU in microsecondi.
***<code>/sys/devices/system/cpu/cpu0/cpufreq/conservative/sampling_rate_max</code> minima frequenza di campionamento ammissibile del carico della CPU in microsecondi.
** <code>/sys/devices/system/cpu/cpu0/cpufreq/conservative/up_threshold</code> il valor medio della percentuale di carico CPU tra due consecutivi istanti di campionamento perché il kernel decida di incrementare la frequenza della CPU. Esempio: se tale valore fosse impostato ad esempio su 80 (che significa 80%) il kernel opterebbe per un incremento di frequenza se all'istante X misurasse un carico del 70% e all'istante X+1 un carico del 90%, oppure 75% all'istante X e 88% in X+1, ecc.
** <code>/sys/devices/system/cpu/cpu0/cpufreq/conservative/down_threshold</code> come al punto precedente, ma in questo caso si imposta il valor medio per cui la frequenza deve essere ridotta rispetto all'attuale valore.
** <code>/sys/devices/system/cpu/cpu1/cpufreq/conservative/freq_step</code>
3 155

contributi