使用Cool'n'Quiet技术的AMD Opetron/Athlon64CPU 可以在空载时降低频率和电压(风扇转速的降低依赖于主板而和CPU无关,比如Epox 9nda3+主板会在CPU温度低于设定值时自动降低转速))。
现在我们就让这个功能在debian里起作用。
首先确保以下被满足
Power Management Support
CPU Frequency Scaling
'usrspace' cpufreq policy governor
AMD Opteron/Athlon64 PowerNow
我的PC的模块加载情况:
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就行了,一般不用加参数
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/cpuinfopure64[~]cat /proc/cpuinfo processor : 0vendor_id : AuthenticAMDcpu family : 15model : 31model name : AMD Athlon(tm) 64 Processor 3000+stepping : 0cpu MHz : 1808.277cache size : 512 KBfpu : yesfpu_exception : yescpuid level : 1wp : yesflags : 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 3dnowbogomips : 3579.90TLB size : 1088 4K pagesclflush size : 64cache_alignment : 64address sizes : 40 bits physical, 48 bits virtualpower management: ts fid vid ttp
看每个频率对应电压可以dmesg|grep powernow-k8(不过由于nv_sata问题,我的dmesg里全是nv_sata error信息,下面是别人的)
$dmesg|grep powernow-k8
Jul 30 21:38:39 terry powernow-k8: 0 : fid 0x2 (1000 MHz), vid 0x12 (1100 mV)Jul 30 21:38:39 terry powernow-k8: 1 : fid 0xa (1800 MHz), vid 0x6 (1400 mV)Jul 30 21:38:39 terry powernow-k8: 2 : fid 0xc (2000 MHz), vid 0x2 (1500 mV)P.S.换了2.6.11,nv_sata问题解决了。pure64[~]dmesg |grep k8Linux 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 2005powernow-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)另外2.6.11可以手动控制ondeman,powersave
现在我们就让这个功能在debian里起作用。
首先确保以下被满足
Power Management Support
CPU Frequency Scaling
'usrspace' cpufreq policy governor
AMD Opteron/Athlon64 PowerNow
我的PC的模块加载情况:
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就行了,一般不用加参数
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/cpuinfopure64[~]cat /proc/cpuinfo processor : 0vendor_id : AuthenticAMDcpu family : 15model : 31model name : AMD Athlon(tm) 64 Processor 3000+stepping : 0cpu MHz : 1808.277cache size : 512 KBfpu : yesfpu_exception : yescpuid level : 1wp : yesflags : 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 3dnowbogomips : 3579.90TLB size : 1088 4K pagesclflush size : 64cache_alignment : 64address sizes : 40 bits physical, 48 bits virtualpower management: ts fid vid ttp
看每个频率对应电压可以dmesg|grep powernow-k8(不过由于nv_sata问题,我的dmesg里全是nv_sata error信息,下面是别人的)
$dmesg|grep powernow-k8
Jul 30 21:38:39 terry powernow-k8: 0 : fid 0x2 (1000 MHz), vid 0x12 (1100 mV)Jul 30 21:38:39 terry powernow-k8: 1 : fid 0xa (1800 MHz), vid 0x6 (1400 mV)Jul 30 21:38:39 terry powernow-k8: 2 : fid 0xc (2000 MHz), vid 0x2 (1500 mV)P.S.换了2.6.11,nv_sata问题解决了。pure64[~]dmesg |grep k8Linux 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 2005powernow-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)另外2.6.11可以手动控制ondeman,powersave