回答:
カーネルを再コンパイルせずにデフォルトを変更できるとは思わない。つまり、起動時にカーネルが選択するものです。
ただし、実行中に別のガバナーを使用するように指示することができます。そのため、再コンパイルせずにデフォルトを効果的に設定したい場合は、何か/etc/rc.local
他の起動スクリプトに追加できます。
/sys
ディレクトリは、ディスク上にありません。それは、実際にはRAMからの情報を取得したり、カーネルにコマンドを送信したりするためのインターフェースであるRAM内の偽のファイルシステムです。これはすべてに関連する/sys/devices/system/cpu
ため、次のとおりです。
> cd /sys/devices/system/cpu
また、書き込み(echo blahblah >
)を行うにはrootになる必要があります。とにかく、上記のディレクトリに関連して、利用可能なガバナーを確認するには:
> cat cpu0/cpufreq/scaling_available_governors
conservative ondemand userspace powersave performance
どうやらあなたのものですondemand
(ただし、これについては以下の「Gotcha」をお読みください)。チェックする:
> cat cpu0/cpufreq/scaling_governor
ondemand
変更するには:
echo performance > cpu0/cpufreq/scaling_governor
これはrootで行うか、このようにする必要があることに注意してください
sudo sh -c "echo performance > cpu0/cpufreq/scaling_governor"
sudo
リダイレクトがあるため、単なるプレーンは機能しません>
。
これで、以前はオンデマンドガバナーを構成するためのファイルハンドルが含ま/sys/devices/system/cpu/cpufreq
れていたディレクトリ(/sys/devices/system/cpu/cpu0/cpufreq
!と同じではありません)が空になっていることがわかります。
Raspbianにinitスクリプトがあり、紛らわしい名前のraspi-config
(いや、それはまた紛らわしいという名前で最初の起動時に実行され、他の1、とは何の関係もありませんapply_noobs_os_config.sh
)に知事を設定するには、この技術を使用するondemand
シフトキーない限り、押されている(Raspbianカーネルがpowersave
コンパイルされている)。それは他に何もしないので、これを無効にしても安全systemctl disable raspi-config
です()、またはGorkamorkaの回答に従って編集することもできますが、システムの更新などによって編集されないリスクが発生します-誰誰もがそれをどうするつもりかを知っています。
上記の非sudoバージョンをに追加してみてください/etc/rc.local
。これは、raspi-config
スクリプトが終了した後に発生する場合があります。
tee
:を使用しますecho performance | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
。
cpufrequtils
とを見つけることができるはずsysfsutils
です。それらをインストールした後、から知事や他のパラメータを設定することができます/etc/default/cpufrequtils
し、/etc/sysfs.conf
: -ここを参照してくださいwiki.debian.org/HowTo/CpuFrequencyScalingを
それを変更する小さなプログラムを作成し、init.dスクリプトを自動的に作成することにより、ブートごとに変更できるようにしました。
RPiスタック交換に関する同様の質問はこちら。
言い換えると、CPUが95%使用されていると、オンデマンドの速度が最大になります。次の方法で、ビジー時間をより低いパーセンテージに減らすことができます(ビジーではない場合に、より多くの時間を記録します)。
「整数値をファイルに書き込む(たとえば、/ etc / rc.localスタートアップファイルに以下を配置できます):echo 60> / sys / devices / system / cpu / cpufreq / ondemand / up_threshold」
したがって、理論的には、このパーセンテージを10または5などの非常に低い値に設定することができます。つまり、常に最大で実行されることになります。
お役に立てれば。リンクされた記事でこれを投稿した人を必ずスコアアップしてください!
別の解決策(Raspbianを実行している場合)は、/ etc / init.d / raspi-configのinit.dスクリプトを変更して、スケーリングガバナーを常に無効にすることです。デフォルトの動作は、シフトキーのいずれかが押されている場合にのみ起動時に有効にすることです。
#!/bin/sh
### BEGIN INIT INFO
# Provides: raspi-config
# Required-Start: udev mountkernfs $remote_fs
# Required-Stop:
# Default-Start: S
# Default-Stop:
# Short-Description: Switch to ondemand cpu governor (unless shift key is pressed)
# Description:
### END INIT INFO
. /lib/lsb/init-functions
case "$1" in
start)
log_daemon_msg "Checking if shift key is held down"
timeout 1 thd --dump /dev/input/event* | grep -q "LEFTSHIFT\|RIGHTSHIFT"
if [ $? -eq 0 ]; then
printf " Yes. Not enabling ondemand scaling governor"
log_end_msg 0
else
printf " No. Switching to ondemand scaling governor"
SYS_CPUFREQ_GOVERNOR=/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor if [ -e $SYS_CPUFREQ_GOVERNOR ]; t
hen
echo "ondemand" > $SYS_CPUFREQ_GOVERNOR
echo 50 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold
echo 100000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate
echo 50 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor
echo 1 | sudo tee /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy
fi
log_end_msg 0
fi
;;
*)
echo "Usage: $0 start" >&2
exit 3
;;
esac
エコー「パフォーマンス」| sudo tee / sys / devices / system / cpu / cpu0 / cpufreq / scaling_governor