Pourquoi mon Pi fonctionne-t-il à 700 MHz tout le temps?

12

Mon RasPi est configuré à 900 MHz pour l'overclocking raspi-config, mais il continue de fonctionner à 700 MHz même sous charge. J'ai déjà trouvé cette réponse , et mon système fonctionne également avec Dynamic

for info in /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_*
do 
  echo ${info}
  sudo cat ${info}
done

Production:

/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
700000
/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq
900000
/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq
700000
/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_transition_latency
355000

Même lorsque vous servez des fichiers volumineux via SMB et en cours d'exécution apt-get update, la fréquence restera à 700 MHz. Pourquoi?

Arne
la source
Oh wow, maintenant je l'ai vu passer deux fois à 900 MHz. J'utilise watch -n 1 cat /sys/...pour surveiller la fréquence. Peut-être que je n'ai pas de problème après tout.
Arne
1
Faire beaucoup d'IO (servir des fichiers, télécharger via apt) n'est pas une activité intensive du processeur car l'IO lui-même est un goulot d'étranglement - ce qui signifie que le processeur doit l'attendre, donc pendant que le système est occupé à travailler aussi vite que possible dans un seul sens, le processeur peut être principalement inactif.
goldilocks
@goldilocks: Eh bien, smbd et ntfs-3g produisaient près de 100% de charge, environ 50% d'utilisateur et 50% de charge système chacun. J'aurais supposé que cela suffisait, mais peut-être que la charge du système était une sorte d'E / S en attente.
Arne
Pour info, voici un moyen plus simple d'imprimer vos paramètres: grep "" / sys / devices / system / cpu / cpu0 / cpufreq / cpuinfo_ *
Ludovic Ronsin

Réponses:

14

Même avec une fréquence dynamique définie, le Raspberry Pi a un seuil de mise à l'échelle de fréquence par défaut très élevé.

Pour citer ce billet de blog sur l'overclocking du Pi:

Le gouverneur à la demande utilisé dans le Raspberry Pi augmentera la vitesse du processeur à la valeur configurée maximale chaque fois qu'il le trouvera occupé plus de 95% du temps. Cela semble assez juste pour la plupart des cas, mais si vous souhaitez ce ralentissement supplémentaire même lorsque le système effectue des tâches un peu plus légères, vous devrez abaisser le seuil de charge. Cela se fait également facilement en écrivant une valeur entière dans un fichier (vous pouvez mettre les éléments suivants par exemple dans le /etc/rc.localfichier de démarrage):

echo 60> / sys / devices / system / cpu / cpufreq / ondemand / up_threshold

Ici, nous disons que nous aimerions que le mode Turbo démarre lorsque le processeur est occupé au moins 60% du temps. Cela suffit pour que le Pi se sente un peu plus vif lors d'une utilisation générale.

Vous pouvez également définir le gouverneur du processeur sur les performances au lieu de la demande à l'aide d'une commande similaire:

echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

Les performances garderont le CPU cadencé à 100% tout le temps. Des informations détaillées sur les modes disponibles peuvent être trouvées ici: https://www.kernel.org/doc/Documentation/cpu-freq/governors.txt

Jonathan Milford
la source
Voilà ce que je cherchais!
Arne
0

J'ai fait un petit programme pour automatiser le processus que Jonathan Milford a décrit très bien. Il le fait à chaque démarrage pour le faire persister.

Lien vers mon projet

MeisterD
la source