Overclocking dalla riga di comando


10

Sto configurando un'istanza Puppet che gestirà un sacco di RPis. Questo significa che non posso overcloccare uno ad uno usando raspi-config.

L'overclocking dovrebbe essere semplice come creare /boot/config.txt:

root@rpi-032113 ~ # file /boot/config.txt 
/boot/config.txt: ASCII text
root@rpi-032113 ~ # cat /boot/config.txt 
gpu_mem=32
arm_freq=950
core_freq=250
sdram_freq=450
over_voltage=6

Tuttavia, ogni volta che riavvio e stress test rimane a 700MHz:

root@rpi-032113 ~ # nice yes >/dev/null &
[1] 3238
root@rpi-032113 ~ # cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
700000

root@rpi-032113 ~ # /opt/vc/bin/vcgencmd get_config int
arm_freq=950
core_freq=250
sdram_freq=450
over_voltage=6
temp_limit=85
force_pwm_open=1

Rimane chiaramente a 700 MHz (anche dopo aver atteso altri 15 secondi in più), mentre dovrebbe essere a 950 MHz.

Cosa mi sto perdendo? C'è un bit appiccicoso che deve essere impostato nella CPU prima che funzioni?

Risposte:


5

La frequenza della CPU è ridimensionata su richiesta. È possibile impostare la soglia tramite la variabile sysctl `up_threshold '. Puoi impostarlo tramite:

sudo sh -c "echo 20 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold"

Ciò imposterà la soglia al 20% di utilizzo della CPU.

Il regolatore di ridimensionamento può essere impostato su ondemand tramite:

sudo sh -c "echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor"

Puoi metterlo nel tuo /etc/rc.local, quindi verrà eseguito durante l'avvio. sudo sh -cQuindi puoi lasciare fuori le cose, perché rc.localè comunque eseguito come root.

Più documentazione sul clock della CPU è disponibile qui .


-bash: / sys / devices / system / cpu / cpu0 / cpufreq / ondemand / up_threshold: nessun file o directory del genere - Tuttavia, l'impostazione "ondemand" ha risolto il problema, grazie - root @ rpi-032113 ~ # nice yes> / dev / null & [1] 4650 root @ rpi-032113 ~ # cat / sys / devices / system / cpu / cpu0 / cpufreq / scaling_cur_freq 950000
Tuinslak

Ho avuto lo stesso errore di Tuinslak, ma dopo aver cercato i file in /sys...cpufreq/ ho trovato un file che fa la stessa cosa.
Matteo,

Sì, forse devi lasciare fuori la CPU. Forse questo esiste solo su sistemi multi core. Non ho il mio Pi con me per verificarlo.
Arne,

Sì, sembra che tu abbia bisogno di buttare fuori il cpu0: raspberrypi.org/phpBB3/viewtopic.php?f=24&t=20156
Arne

Sì, fantastico. Sembra funzionare ora come un incantesimo. Immagino che questi comandi siano inclusi in un'installazione raspbian (perché ha funzionato bene su altri 3 RPi), ma non quando lo avvii da zero per la mia configurazione di Puppet. Grazie.
Tuinslak,

0

L'overclock si attiva solo se l'utilizzo della CPU è sufficientemente elevato. Per modificare la frequenza minima di attivazione, fare

sudo nano /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq

Nano è il mio editor di testo da riga di comando preferito, ma puoi usarne altri come vi o vim. Il numero nel file è la frequenza di inserimento corrente in kHz (non mHz!). Per aumentare la frequenza minima di attivazione è sufficiente aumentare il numero. Nel caso di tuinslack il numero sarebbe 950000.

Nella cartella cpufreq puoi trovare alcune altre impostazioni, come ad esempio il maxiumum arm freq. Se si tiene premuto shift all'avvio, l'overclock verrà disabilitato. Mantenere attivo l'overclock aumenta notevolmente la temperatura della CPU.


Mentre questo dovrebbe risolverlo, causerà anche che la CPU sia a 950MHz, anche quando è inattivo (che è qualcosa che vorrei evitare, poiché OC presenta ancora alcuni rischi); poiché è il "minimo" a cui può trovarsi l'orologio della CPU. Volevo eseguire l'overclocking dinamico in base alle necessità (vedere l'altra risposta).
Tuinslak,

@tuinslak Questo è solo un altro modo di farlo.
Matteo,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.