因为要在黑群晖内使用VMM跑虚机,所以给它换了某TDP为28W的i5处理器。由于无法忍受噪声,想买猫扇还没有w,所以把CPU风扇转速调节到了1000转左右。此时CPU在跑VMM时温度92度,待机下温度仍有75度。奇怪的是,CPU占用率1%以下的时候,CPU的频率居然仍然是满频。运行高负载应用,且风扇开到最大,散热和电源良好的时候无法达到睿频。始终以主频运行。
Linux的/sys/devices/system/cpu/cpu*/cpufreq目录存储着第*个CPU的一些参数,例如最小最大平均频率,bios限制频率。
CPU的工作模式有多种
-
powersave 只会保持最低频率,节能省电
-
userspace 自定义频率
-
ondemand 一有cpu计算量的任务,就会立即达到最大频率运行,等执行完毕就立即回到最低频率
-
conservative 根据负载状态自动在频率上下限调整
-
performance 保持以最大频率运行
使用如下命令可以查看支持的工作模式:
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
我的支持:
conservative powersave performance ondemand userspace
通过
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
可以看第*个CPU核心的工作状态,我的四个核心全都是performance,怪不得始终满频运行。
为了把它改掉,需要使用ipkg安装cpufrequtils
安装ipkg:
sudo -i
然后输入密码
cd ~
wget http://ipkg.nslu2-linux.org/feeds/optware/syno-i686/cross/unstable/syno-i686-bootstrap_1.2-7_i686.xsh
chmod +x ./syno-i686-bootstrap_1.2-7_i686.xsh
sh ./syno-i686-bootstrap_1.2-7_i686.xsh
安装cpufreq-info:
ipkg update
ipkg install cpufrequtils
通过cpufreq-info命令就可以查看CPU频率和模式和历史记录的详细信息了。
修改模式:
cpufreq-set -c * -g MODE
例如将四个核心全部ondemand:
cpufreq-set -c 0 -g ondemand
cpufreq-set -c 1 -g ondemand
cpufreq-set -c 2 -g ondemand
cpufreq-set -c 3 -g ondemand
为了下次开机也自动生效,可以手动添加启动脚本。将其存成.sh,开启启动即可
#/bin/bash
/opt/bin/cpufreq-set -c 0 -g ondemand
/opt/bin/cpufreq-set -c 1 -g ondemand
/opt/bin/cpufreq-set -c 2 -g ondemand
/opt/bin/cpufreq-set -c 3 -g ondemand
至于睿频。。。似乎DSM不支持?
DSM7有没有什么办法可以调整?
dsm7 似乎没有ondemand和conservative了,楼主是dsm6吗
不错 不错 很有用 。关于睿频,我是这么处理的, 如果主板支持,可以把CPU的默认频率调上去。然后按照楼主的方式,cpu有工作任务的时候就可以跑到设定的频率了。
黑了半年 最后懒的折腾了 还是入白了