PowerNow (简体中文)
From ArchWiki
PowerNow!是一种在某些AMD处理器上可以实现的技术. 这种技术能动态改变电压和速度来减少处理器电能消耗和发热. 它也被称为 Cool'n'Quiet.
Contents[hide] |
[edit] 查看你的CPU是否支持PowerNow!
如果你有AMD64处理器:
# modprobe powernow-k8
如果你的CPU比较老, 模块的名字可能是powernow-k7或者powernow-k6.
如果处理器不支持PowerNow!, 或者Cool'n'Quiet选项在BIOS里面没有开启, 在加载模块的时候将会立刻提示一个错误:
FATAL: Error inserting powernow_k8 (/lib/modules/2.6.16-ARCH/kernel/arch/i386/kernel/cpu/cpufreq/powernow-k8.ko): No such device
查看你目前使用的内核时候支持PowerNow!:
# dmesg | grep powernow
输出应该类似这样(以AMD64 3400+ Clawhammer为例)
powernow-k8: Found 1 AMD Athlon 64 / Opteron processors (version 1.60.2) powernow-k8: 0 : fid 0x10 (2400 MHz), vid 0x2 (1500 mV) powernow-k8: 1 : fid 0xe (2200 MHz), vid 0x6 (1400 mV) powernow-k8: 2 : fid 0xc (2000 MHz), vid 0xa (1300 mV) powernow-k8: 3 : fid 0xa (1800 MHz), vid 0xe (1200 mV) powernow-k8: 4 : fid 0x2 (1000 MHz), vid 0x12 (1100 mV)
[edit] 在内核中设置PowerNow
使用modprobe加载powernow-k8, cpufreq_powersave, cpufreq_userspace, cpufreq_conservative, cpufreq_ondemand 和 freq_table 模块, 并把它们加入到/etc/rc.conf里面的MODULES那一行里面去 .
[edit] 在用户空间(userspace)设置Frequency Scaling(频率调整)(利用cpudyn)
# pacman -S acpid cpudyn
启动cpudyn:
# /etc/rc.d/cpudyn start
在 /etc/rc.conf里面,添加cpudyn到DAEMONS 行.
关于配置cpudyn和acpid本文就不多叙述.
[edit] 测试
测试动态调整是否在工作:
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
然后和下面的进行比较:
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
你也可以在另一个控制台运行:
cat /dev/urandom > /dev/null
scaling_cur_freq应该和scaling_max_freq是一样的.
[edit] 其他方法: 使用cpufrequtils
这是一种简单而直接的方法来完成这个工作.
1. 安装cpufrequtils
pacman -S cpufrequtils
2. 编辑/etc/conf.d/cpufreq,设置你需要的模式
# valid governors: # ondemand, performance, powersave, conservative, userspace governor="ondemand" # valid freq suffixes: Hz, kHz (default), MHz, GHz, THz min_freq="2.25GHz" max_freq="3GHz"
3. 为你处理器添加cpufreq模块(例如. powernow, powernow-k6, or powernow-k8) 到/etc/rc.conf的MODULES行 - 这些默认不是自动加载的.
4. 添加'cpufreq'DAEMONS行,来让它在启动的时候加载. 也可以马上加载一次:
/etc/rc.d/cpufreq start