AMD64 CPU根据需要降低频率和电压--在debian下的实现方法(转)

AMD64 CPU根据需要降低频率和电压--在debian下的实现方法(转)[@more@]

  提要:使用Cool'n'Quiet技术的AMD Opetron/Athlon64CPU 可以在空载时降低频率和电压(风扇转速的降低依赖于主板,而和CPU无关。Epox 9nda3+主板支持根据cpu温度动态调节风扇转速,从5000rpm-1000rpm,噪音减少的十分明显。)

  现在我们就让这个功能在debian里起作用。以下使用debian/arch-pure64, 2.6.9内核

  首先确保以下被满足

  * Power Management Support 电源管理支持

  * CPU Frequency Scaling 可进行频率调整的CPU

  * 'usrspace' cpufreq policy governor 用户态CPU频率控制策略

  * AMD Opteron/Athlon64 PowerNow PowerNow支持

  首先检查必须模块是否加载:

  pure64[~]cat /proc/modules |grep freq

cpufreq_userspace 6216 2 - Live 0xffffffffa0272000

cpufreq_powersave 2240 0 - Live 0xffffffffa0270000

freq_table 5064 1 powernow_k8, Live 0xffffffffa01bf000

pure64[~]cat /proc/modules |grep k8

powernow_k8 10440 0 - Live 0xffffffffa01c2000

  然后 apt-get install powernowd

  设置开机自动运行powernowd就行了,一般不用加参数

  (powernowd的manpage上写同样支持任何使用powernow的AMD CPU 和使用speedstep技术的Intel CPU.不过未经验证)。

  cat /proc/cpufreq可以看CPU调速的策略

  pure64[~]cat /proc/cpufreq

     minimum CPU frequency - maximum CPU frequency - policy

CPU 0 1000000 kHz ( 55 %) - 1800000 kHz (100 %) - userspace

  cat /proc/cpuinfo看当前CPU Mhz和bogomips

  pure64[~]cat /proc/cpuinfo

processor : 0

vendor_id : AuthenticAMD

cpu family : 15

model : 31

model name : AMD Athlon(tm) 64 Processor 3000+

stepping : 0

cpu MHz : 1004.598

cache size : 512 KB

fpu : yes

fpu_exception : yes

cpuid level : 1

wp : yes

flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext lm 3dnowext 3dnow

bogomips : 1988.83

TLB size : 1088 4K pages

clflush size : 64

cache_alignment : 64

address sizes : 40 bits physical, 48 bits virtual

power management: ts fid vid ttp

  可以看见空载的时候自动降低频率到1000Mhz左右,同样电压也会降低.

  满载时频率自动提升,可以测试一下

  $cat /dev/urandom > /dev/null

$cat /proc/cpuinfo

pure64[~]cat /proc/cpuinfo

processor : 0

vendor_id : AuthenticAMD

cpu family : 15

model : 31

model name : AMD Athlon(tm) 64 Processor 3000+

stepping : 0

cpu MHz : 1808.277

cache size : 512 KB

fpu : yes

fpu_exception : yes

cpuid level : 1

wp : yes

flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext lm 3dnowext 3dnow

bogomips : 3579.90

TLB size : 1088 4K pages

clflush size : 64

cache_alignment : 64

address sizes : 40 bits physical, 48 bits virtual

power management: ts fid vid ttp

  看每个频率对应电压可以dmesg|grep powernow-k8

  pure64[~]dmesg |grep k8

Linux version 2.6.11-9-amd64-k8 (root@athlon.lowpingbastards.de) (gcc version 3.4.4 20050314 (prerelease) (Debian 3.4.3-12)) #1 Sun Mar 27 12:58:31 CEST 2005

powernow-k8: Found 1 AMD Athlon 64 / Opteron processors (version 1.00.09e)

powernow-k8: 0 : fid 0xa (1800 MHz), vid 0x6 (1400 mV)

powernow-k8: 1 : fid 0x2 (1000 MHz), vid 0x12 (1100 mV)

  可以看到省电模式下CPU电压由1.4V降到1.1V.

  手动控制CPU的频率。

  高速模式(对应1800Mhz)

  echo performance>/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

  省电模式(对应1000Mhz)

  echo powersave>/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

  回到powernowd控制的自动模式

  echo userspace>/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

  P.S.升级至2.6.11后

  2.6.11多出了ondemand模式,使用这个模式就不用使用powernowd软件了。

  echo ondemand>/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752043/viewspace-940436/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10752043/viewspace-940436/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值