Je veux changer le gouverneur par défaut sur mon pi de ondemand à performance. Y-a-t'il une façon de le faire?
la source
Je veux changer le gouverneur par défaut sur mon pi de ondemand à performance. Y-a-t'il une façon de le faire?
Je ne pense pas que vous puissiez changer la valeur par défaut sans recompiler le noyau. J'entends par là, celui que le noyau choisit au démarrage.
Cependant, vous pouvez lui dire d'utiliser un gouverneur différent lors de l'exécution, donc si vous souhaitez définir efficacement la valeur par défaut sans recompilation, vous pouvez ajouter quelque chose /etc/rc.local
ou un autre script de démarrage.
Le /sys
répertoire n'est pas sur le disque; c'est un faux système de fichiers en RAM qui est en fait une interface pour obtenir des informations et envoyer des commandes au noyau. Tout cela est relatif à /sys/devices/system/cpu
:
> cd /sys/devices/system/cpu
Vous devez également être root pour effectuer les écritures ( echo blahblah >
). Quoi qu'il en soit, par rapport au répertoire ci-dessus, pour voir les gouverneurs disponibles:
> cat cpu0/cpufreq/scaling_available_governors
conservative ondemand userspace powersave performance
Apparemment, le vôtre est ondemand
(mais lisez "Gotcha" ci-dessous à ce sujet); vérifier:
> cat cpu0/cpufreq/scaling_governor
ondemand
Pour le changer:
echo performance > cpu0/cpufreq/scaling_governor
Notez que cela doit être fait root, ou comme ça
sudo sh -c "echo performance > cpu0/cpufreq/scaling_governor"
Tout simplement sudo
ne fonctionnera pas parce qu'il ya une redirection, >
.
Vous remarquerez maintenant que le /sys/devices/system/cpu/cpufreq
répertoire, (PAS le même que /sys/devices/system/cpu/cpu0/cpufreq
!), Qui contenait auparavant des descripteurs de fichiers pour configurer le gouverneur à la demande, est vide.
Sur Raspbian, il existe un script d'initialisation, nommé de manière confuse raspi-config
(non, il n'a rien à voir avec l'autre, qui est exécuté au premier démarrage par le nom également déroutant apply_noobs_os_config.sh
), qui utilise cette technique pour définir le gouverneur à ondemand
moins que la touche Maj est maintenu enfoncé (le noyau Raspbian stock a powersave
compilé). Il ne fait rien d'autre, il est donc sûr de désactiver ceci ( systemctl disable raspi-config
), ou vous pouvez le modifier selon la réponse de Gorkamorka , mais vous courez le risque de le voir non modifié par une mise à jour du système, etc. - qui sait ce que quelqu'un envisage de faire avec ça.
Vous pouvez essayer d'ajouter la version non sudo ci-dessus à /etc/rc.local
. Cela peut se produire après la fin du raspi-config
script.
tee
:echo performance | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
.cpufrequtils
etsysfsutils
. Après les avoir installés, vous pouvez définir le gouverneur et d'autres paramètres depuis/etc/default/cpufrequtils
et/etc/sysfs.conf
- voir ici: wiki.debian.org/HowTo/CpuFrequencyScalingJ'ai fait un petit programme pour le changer et le laisser changer à chaque démarrage en créant automatiquement un script init.d.
Lien vers mon projet
la source
question similaire sur l'échange de pile RPi ici.
pour le paraphraser, la vitesse à la demande grimpe au maximum lorsque le processeur est à 95% occupé. Vous pouvez réduire le temps occupé à un pourcentage inférieur (ce qui signifie qu'il sera plus élevé lorsqu'il n'est pas aussi occupé) en:
Donc, théoriquement ... vous pourriez mettre ce pourcentage à quelque chose d'incroyablement bas comme 10 ou 5, ce qui signifierait qu'il fonctionnerait toujours au maximum.
J'espère que cela t'aides. Assurez-vous de marquer la personne qui a posté cela dans l'article lié!
la source
Une autre solution (si vous exécutez Raspbian) pourrait être de modifier le script init.d dans /etc/init.d/raspi-config pour toujours désactiver le gouverneur de mise à l'échelle. Son comportement par défaut consiste à ne l'activer au démarrage que si l'une des touches Maj est enfoncée:
la source
echo "performance" | sudo tee / sys / devices / system / cpu / cpu0 / cpufreq / scaling_governor
la source