Overclocking via la ligne de commande

10

Je mets en place une instance Puppet qui gérera un tas de RPis. Cela signifie que je ne peux pas les overclocker un par un en utilisant raspi-config.

L'overclocking devrait être aussi simple que de créer /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

Cependant, chaque fois que je redémarre et teste le stress, il reste à 700 MHz:

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

Il reste clairement à 700 MHz (également après avoir attendu 15 secondes supplémentaires), alors qu'il devrait être à 950 MHz.

Qu'est-ce que je rate? Y a-t-il un bit collant qui doit être défini dans le CPU avant que cela fonctionne?

Tuinslak
la source

Réponses:

5

La fréquence du processeur est mise à l'échelle sur demande. Vous pouvez définir le seuil via la variable sysctl `up_threshold '. Vous pouvez le régler via:

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

Cela définira le seuil à 20% d'utilisation du processeur.

Le gouverneur de mise à l'échelle peut être réglé sur la demande via:

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

Vous pouvez le mettre dans votre /etc/rc.local, il sera donc exécuté lors du démarrage. Vous pouvez alors laisser de côté le sudo sh -ccontenu, car il rc.localest exécuté en tant que root de toute façon.

Vous trouverez plus de documentation sur le cadencement du CPU ici .

Arne
la source
-bash: / sys / devices / system / cpu / cpu0 / cpufreq / ondemand / up_threshold: Aucun fichier ou répertoire de ce type - Cependant, la définition de "ondemand" l'a résolu, merci - root @ rpi-032113 ~ # nice yes> / dev / null & [1] 4650 root @ rpi-032113 ~ # cat / sys / devices / system / cpu / cpu0 / cpufreq / scaling_cur_freq 950000
Tuinslak
J'ai eu la même erreur que Tuinslak, mais après avoir fouillé les fichiers dans /sys...cpufreq/, j'ai trouvé un fichier qui fait la même chose.
Matthew
Ouais, vous devez peut-être laisser de côté le cpu0. Peut-être que cela n'existe que sur les systèmes multicœurs. Je n'ai pas mon Pi avec moi pour le vérifier.
Arne
Yup, il semble que vous deviez expulser le cpu0: raspberrypi.org/phpBB3/viewtopic.php?f=24&t=20156
Arne
Oui Super. Semble fonctionner comme un charme maintenant. Je suppose que ces commandes sont incluses dans une installation raspbian (pourquoi cela a bien fonctionné sur 3 autres RPi), mais pas lorsque vous l'amorcez à partir de zéro pour ma configuration Puppet. Merci.
Tuinslak
0

L'overclock ne s'active que s'il y a une utilisation CPU suffisamment élevée. Pour changer la fréquence de bras minimale, faites

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

Nano est mon éditeur de texte de ligne de commande préféré, mais vous pouvez en utiliser d'autres tels que vi ou vim. Le nombre dans le fichier est la fréquence de bras actuelle en kHz (pas mHz!). Pour augmenter la fréquence minimale des bras, il suffit d'augmenter le nombre. Dans le cas de tuinslack, le nombre serait 950000.

Dans le dossier cpufreq, vous pouvez trouver d'autres paramètres, tels que le maxiumum arm freq. Si vous maintenez shift au démarrage, l'overclock sera désactivé. Garder l'overclock activé augmentera considérablement la température du CPU.

Matthieu
la source
Bien que cela devrait le corriger, cela entraînera également le processeur à 950 MHz, même lorsqu'il est inactif (ce que j'aimerais éviter, car l'OC comporte encore des risques); car c'est le "minimum" auquel l'horloge du processeur peut être. Je voulais overclocker dynamiquement selon les besoins (voir l'autre réponse).
Tuinslak
@tuinslak C'est juste une autre façon de procéder.
Matthew