默认树莓派在一些情况下会自动降频,
查看频率脚本为:
sudo cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
执行结果:
1500000
也可能是
600000
临时设置频率
脚本名字为setcpHz.sh,忘了从哪抄的了,内容很简单,只是对文件赋值,内容为:
#!/bin/bash
#本脚本用于调节CPU电源模式
#修改电源模式的路径
path_0=/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
path_1=/sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
path_2=/sys/devices/system/cpu/cpu2/cpufreq/scaling_governor
path_3=/sys/devices/system/cpu/cpu3/cpufreq/scaling_governor
#判断权限是否足够
if [ -w $path_0 ] && [ -w $path_1 ] && [ -w $path_2 ] && [ -w $path_3 ]; then
#解析输入参数
case $1 in
1)
echo "[Performance] 高性能模式"
mode=Performance
;;
2)
echo "[ondemand] 自动调整"
mode=ondemand
;;
3)
echo "[powersave] 低功耗模式"
mode=powersave
;;
-r)
echo "[CPU 0]" `cat $path_0`
echo "[CPU 1]" `cat $path_1`
echo "[CPU 2]" `cat $path_2`
echo "[CPU 3]" `cat $path_3`
exit
;;
-h)
echo "输入参数:
[performance] 1
[ondemand ] 2
[powersave] 3
[读取模式 ] -r"
exit
;;
*)
echo "Erro: 输入参数错误"
exit
;;
esac
#修改电源模式
echo $mode > $path_0
echo $mode > $path_1
echo $mode > $path_2
echo $mode > $path_3
else
echo "Erro: 权限不足"
fi
执行:
sudo ./setcpuHZ 1
1为Performance模式。
永久修改模式
查看/ect/init.d/raspi-config
内容:
#!/bin/sh
### BEGIN INIT INFO
# Provides: raspi-config
# Required-Start: udev mountkernfs $remote_fs
# Required-Stop:
# Default-Start: S 2 3 4 5
# 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"
if [ -x /usr/sbin/thd ] && timeout 1 thd --dump /dev/input/event* | grep -q "LEFTSHIFT\|RIGHTSHIFT"; 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 ]; then
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
fi
log_end_msg 0
fi
;;
stop)
;;
restart)
;;
force-reload)
;;
*)
echo "Usage: $0 start" >&2
exit 3
;;
esac
看到ondemand了吗?ondemand为按需进行设置频率,这里修改为performance保存重启就可以了,模式就为高性能模式,其他模式也就是改这个名字就好。