CPU降压——节能降温延长寿命(什么? 你居然还在用散热托架?!)

新手涉及到的教学或入门贴,推荐新手必看,版主维护
头像
syrano
帖子: 4313
注册时间: 2007-10-06 18:40

CPU降压——节能降温延长寿命(什么? 你居然还在用散热托架?!)

#1

帖子 syrano » 2010-03-15 16:21

夏日炎炎, CPU温度一路攀升, 台式机还好, 笔记本就麻烦了. 搞得大家心神不宁的.
不过我已经找到了解决方法. 不是用散热托架, 是从源头上解决问题. 不仅能降温还能延长电池使用时间, 甚至延长CPU使用寿命.

肉测结果(3月初): 以前CPU100%的时候能达到61度以上, 现住运行mprime也只能达到53度了. mprime从此不能产生热情了.
平时使用的温度现住只有40度左右. 以前有时候达到50几度.
电池以前用1小时20分钟, 现住能用1小时35分钟.

警告(WARNING):
该程序可能损坏你的硬件
This program could cause damage to your Hardware!


有两种降低cpu电压的方法.
  • 1. 使用cpupowerd(amd专用)
  • 2. 使用linux-phc(Intel, amd都可以用)
[*]1. 使用cpupowerd(amd专用)

优点: 1直接用电压值调节, 简单. 2. 不用编译模块
缺点: 只支持amd k8(Athlon, Athlon64 (X2), Sempron, Opteron, Turion ...)
特点: 自带cpu频率调节器, 和cpufrequtils冲突且需要调节.

安装
arch安装直接

代码: 全选

yaourt -S cpupowerd
ubuntu在这里下源码编译安装
http://sourceforge.net/projects/cpupowerd

代码: 全选

tar -xzf cpupowerd-x.x.x.tar.gz
cd cpupowerd-x.x.x/src
make
sudo make install
安装好后先查看一下你的cpu参数

载入msr模块

代码: 全选

sudo modprobe msr
载入powernow_k8模块

代码: 全选

sudo modprobe powernow_k8

代码: 全选

$sudo cpupowerd -s
cpupowerd 0.1.2
WARNING: This program could cause damage to your Hardware!
Vendor                      : AMD
Family                      : K8
Model                       : 7
  Mastercpuid               : 0
    Affected cpuids         : 0
    Current voltage (VID)   : 0.6750 V (39)
    Current frequency (FID) : 800 MHz (0)
    Supported frequencies   : 800 1600 MHz
可以看出默认的电压是1.0 V. 记住它

下面找出最低电压
由于每个频率可能的最低电压都不一样, 所有要一个频率一个频率地找.
先设置cpu频率为1600MHz

代码: 全选

cpupowerd -F "0|1600"
然后慢慢降低电压(后面的表中有AMD所有可能的电压)

代码: 全选

cpupowerd -V "0|0.9750"
直到电脑死机.
记下没有死机的最低电压.
然后重启测800MHz的最低电压.

然后用mprime测试能长时间稳定工作的电压.
arch中安装mprime
yaourt -S mprime
ubuntu在这里下

代码: 全选

http://www.mersenne.org/freesoft/
先设置比最低电压高一, 二档的电压
cpupowerd -F "0|800" -V "0|0.6750"
然后用运行mprime, 如果几个小时没有出现错误或死机. 这个电压就没问题了.
如出现问题, 把电压调高一档再运行mprime, 直到找到稳定电压.
还可以做些其他的事情如游戏, 高清. 看系统核不核谐.


生成配置文件
sudo cpupowerd -a /etc/cpupowerd.conf
运行cpupowerd, 使之自动调节CPU频率

代码: 全选

cpupowerd -d -c /etc/cpupowerd.conf
人工设置CPU使用率低于30%下降一个频率, 高于80%上升一个频率

代码: 全选

cpupowerd -d -D 30 -U 80 -c /etc/cpupowerd.conf
Arch用户设置开机自动运行
编辑/etc/rc.conf
在MODULES=()里添加
powernow-k8 msr
去掉里面的cpufreq*, 如果有的话.
在DAEMONS=()里acpid后添加cpupowerd

DAEMONS=(syslog-ng hal alsa @network netfs crond acpid cpupowerd laptop-mode @hddtemp fam)
AMD K8 VOLTAGES:
----------------

AMD K8所有可能的电压值
如果你不是用的表上面的, cpupowerd会自动用最接近你输入电压的电压档.
The following CPU voltages are available:

1.5500 V 1.1500 V 0.7625 V 0.5625 V
1.5250 V 1.1250 V 0.7500 V 0.5500 V
1.5000 V 1.1000 V 0.7375 V 0.5375 V
1.4750 V 1.0750 V 0.7250 V 0.5250 V
1.4500 V 1.0500 V 0.7125 V 0.5125 V
1.4250 V 1.0250 V 0.7000 V 0.5000 V
1.4000 V 1.0000 V 0.6875 V 0.4875 V
1.3750 V 0.9750 V 0.6750 V 0.4750 V
1.3500 V 0.9500 V 0.6625 V 0.4625 V
1.3250 V 0.9250 V 0.6500 V 0.4500 V
1.3000 V 0.9000 V 0.6375 V 0.4375 V
1.2750 V 0.8750 V 0.6250 V 0.4250 V
1.2500 V 0.8500 V 0.6125 V 0.4125 V
1.2250 V 0.8250 V 0.6000 V 0.4000 V
1.2000 V 0.8000 V 0.5875 V 0.3875 V
1.1750 V 0.7750 V 0.5750 V 0.3750 V

The lowest voltage depends from the CPU Model (production process).
On some older Turion and Sempron CPUs (Model E, Stepping 6) the voltage
can't be set under 1.0750 V because they have a hardware voltage lock
inside. On some mainboards there are problems with undervolting under 0.8V.
AMD has extended the CPU voltage range from 0.8 - 1.55 V to 0.375 - 1.55 V
but some mainboard manufacturers don't implement this extension correctly
what could cause the CPU overvolting above 1.55V!
For CPU Models older than E included the lowest possible voltage is 0.8V!
[*]2. 使用linux-phc(Intel, amd都可以用)

优点: 支持Intel和AMD(k8)处理器
缺点: 1调节电压值麻烦. 2需要编译模块
特点: 不和cpufrequtils冲突. 可以继续使用ondemand, conservative等模式.

安装
Arch用户如果是Intel处理器
Those patches are tested with

Mobile Centrino,
Atom (N2xx),
Core/Core2 (T and P - Series)

CPU's
They may also be working for other or newer speedstepping Intel CPUs.

代码: 全选

yaourt -S phc-intel
如果是AMD处理器
These patches supports undervolting for AMD K8 processors up to family 15. These include:

* AMD X2 processors
* AMD Turion64 processors
* AMD Turion X2 processors, except newer RM-* and ZM-* processors

代码: 全选

yaourt -S phc-k8
Ubuntu用户在下面网址下源码安装
http://www.linux-phc.org/forum/viewtopic.php?f=13&t=2

设置每个频率CPU的电压值(以AMD为例)
phc-k8使用fid而不频率, 使用vid而不是电压.
可用上面的cpupowerd -s查看

代码: 全选

      Current voltage (VID)   : 1.0000 V (22)
      Current frequency (FID) : 800 MHz (0)
也可以用计算公式.
frequency = 800MHz + (100MHz * fid)
fid = (frequency/100MHz) - 8

电压的公式根据CPU不同而不同. 比如Athlon64 (X2)是第一个公式.
最好通过上面的cpupowerd -s的结果找出正确的公式

代码: 全选

AMD X2 processor:
vid = 16        => voltage = 1550 - 25 * 16 = 1150mV
Vid = 24        => voltage = 1550 - 25 * 24 =  950mV
Turion 64 processor:
vid =  4        => voltage = 1450 - 25 *  4 = 1350mV
Vid = 22        => voltage = 1450 - 25 * 22 =  900mV
查看默认的fid, vid. 或者两个一起看

代码: 全选

$ sudo cat /sys/devices/system/cpu/cpu0/cpufreq/phc_fids 
8 0
$ sudo cat /sys/devices/system/cpu/cpu0/cpufreq/phc_vids
22 22
$ sudo cat /sys/devices/system/cpu/cpu0/cpufreq/phc_controls 
8:22 0:22
经过计算可知有两个频率1600MHz和800MHz, 默认电压都为1.0V

设置电压(比如用的是Athlon64 (X2))
比如1600MHz用0.8250 800MHz用0.6750V

代码: 全选

sudo su
echo '29 39' > /sys/devices/system/cpu/cpu0/cpufreq/phc_vids
注意: 1. Vid越大, 电压才越低, 所有一定不要减小Vid值
2. 注意顺序, 比如例子中1600MHz是第一个, 800MHz是第二个.


Intel的设置方法应该和AMD类似, 不过我没有测试环境.
这一段是alanfly写的!

补充下intel的cpu配置方法:
intel的cpu调整时跟amd是相反的,vid值越大电压越高,安装好后输入下列命令可以得到默认的vid值:
代码:
cat /sys/devices/system/cpu/cpu0/cpufreq/phc_default_vids

比如我的是
代码:
38 29 23 15
,最左边的最高频率下的vid,15是最低频率下的vid;
找出相应的最低vid值然后写入/etc/rc.local中,双核的就写两行,四核写四行,下面是我找出的最低电压:
代码:
echo 23 19 17 15 > /sys/devices/system/cpu/cpu0/cpufreq/phc_vids
echo 23 19 17 15 > /sys/devices/system/cpu/cpu1/cpufreq/phc_vids

重启安装mprime测试,我就测试了半个多小时(这组电压值win下rmclock降压用了两年所以不必测试那么久),一切正常;
如果测试失败就调高vid重启再测试;
要注意有时vid设置太低了连终端都进不去,我是用u盘维护系统启动调高vid才重新启动系统。



要找出最低工作电压的方法和上面用cpupowerd一样.
有个软件linux-phc-optimize可用自动找出最低电压, 但最好不要用, 在我这里, 运行时它是把电压往上升的.
还有一个图形界面phctool, 也最好不要用, 在我这里只能升高电压.

Arch用户开机自动降低电压
编辑/etc/rc.local
添加下如下面一行

代码: 全选

echo 29 39 > /sys/devices/system/cpu/cpu0/cpufreq/phc_vids
参考:
http://wiki.archlinux.org/index.php/PHC
/usr/share/doc/phc-k8/README
/usr/share/cpupowerd/README
E=m c^2
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
联系:

Re: 节能降温延长CPU寿命的法宝(什么? 你居然还在用散热托架?!)

#3

帖子 BigSnake.NET » 2010-03-15 16:37

降频就可以了吧
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
头像
leeaman
帖子: 30702
注册时间: 2007-02-02 18:14
系统: debian sid

Re: 节能降温延长CPU寿命的法宝(什么? 你居然还在用散热托架?!)

#4

帖子 leeaman » 2010-03-15 16:40

路过,台式机,慢慢烧 :em01
醉了星星,醉月亮●●●●●The Long Way To Go(*^_^*)
头像
syrano
帖子: 4313
注册时间: 2007-10-06 18:40

Re: 节能降温延长CPU寿命的法宝(什么? 你居然还在用散热托架?!)

#5

帖子 syrano » 2010-03-15 16:41

BigSnake.NET 写了:降频就可以了吧
再降一下 压, 效果岂不更好. :em09
再说有很多时候不能降频, 比如游戏, 高清.
E=m c^2
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
联系:

Re: 节能降温延长CPU寿命的法宝(什么? 你居然还在用散热托架?!)

#6

帖子 BigSnake.NET » 2010-03-15 16:43

syrano 写了:
BigSnake.NET 写了:降频就可以了吧
再降一下 压, 效果岂不更好. :em09
再说有很多时候不能降频, 比如游戏, 高清.
电压太低会不稳定 ...
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
头像
syrano
帖子: 4313
注册时间: 2007-10-06 18:40

Re: 节能降温延长CPU寿命的法宝(什么? 你居然还在用散热托架?!)

#7

帖子 syrano » 2010-03-15 16:47

BigSnake.NET 写了:
syrano 写了:
BigSnake.NET 写了:降频就可以了吧
再降一下 压, 效果岂不更好. :em09
再说有很多时候不能降频, 比如游戏, 高清.
电压太低会不稳定 ...
我用了半个月了, 都没什么问题.
默认的电压是很保守的.
比如我默认的电压是1.0V
800MHz用的是0.6750V, 1600MHz用的是0.8500
一点问题都没有.

如果不放心, 可用跑mprime跑几天测试稳定性.
E=m c^2
头像
hasee.wu
帖子: 2089
注册时间: 2009-10-20 21:13
来自: Pacific Western University

Re: 节能降温延长CPU寿命的法宝(什么? 你居然还在用散热托架?!)

#9

帖子 hasee.wu » 2010-03-15 16:58

我只知道cpu的寿命很长。有块赛扬300a,从买时超频一直用到淘汰被打入杂物间,至今可用。
头像
syrano
帖子: 4313
注册时间: 2007-10-06 18:40

Re: 节能降温延长CPU寿命的法宝(什么? 你居然还在用散热托架?!)

#10

帖子 syrano » 2010-03-15 17:12

hasee.wu 写了:我只知道cpu的寿命很长。有块赛扬300a,从买时超频一直用到淘汰被打入杂物间,至今可用。
这有什么, 以前用赛扬1.7GHz 有一次风扇不转了, 温度打到97度, 还没有死机.
E=m c^2
头像
wangdu2002
帖子: 13284
注册时间: 2008-12-13 19:39
来自: 物华天宝人杰地灵

Re: 节能降温延长CPU寿命的法宝(什么? 你居然还在用散热托架?!)

#11

帖子 wangdu2002 » 2010-03-15 19:49

支持爱因斯坦的研究。 :em11
降压降频可以显著降低功耗。。。顺便还可以节省电费。 :em04
行到水穷处,坐看云起时。
海内生明月,天涯共此夕。
--------------------吾本独!
头像
forever_snake
帖子: 22
注册时间: 2009-08-27 22:17

Re: 节能降温延长CPU寿命的法宝(什么? 你居然还在用散热托架?!)

#12

帖子 forever_snake » 2010-03-15 20:23

能用这个来超频吗....... :em06
头像
syrano
帖子: 4313
注册时间: 2007-10-06 18:40

Re: 节能降温延长CPU寿命的法宝(什么? 你居然还在用散热托架?!)

#13

帖子 syrano » 2010-03-15 20:30

forever_snake 写了:能用这个来超频吗....... :em06
应该不行.
E=m c^2
delectate
帖子: 18311
注册时间: 2008-01-09 22:41

Re: 节能降温延长CPU寿命的法宝(什么? 你居然还在用散热托架?!)

#14

帖子 delectate » 2010-03-15 20:32

:em11

good,mark
头像
xjpvictor
帖子: 2837
注册时间: 2007-08-22 15:55
系统: Archlinux
来自: 新加坡
联系:

Re: 节能降温延长CPU寿命的法宝(什么? 你居然还在用散热托架?!)

#15

帖子 xjpvictor » 2010-03-15 21:34

支持lz。。 :em11
Entschuldigung. Ich habe keine ahnung.
Secure with PGP: gpg --recv-keys 0x68b6e3d8
Fingerprint: 5556 517C F52F E402 DDF5 5400 6D30 F13E 68B6 E3D8
Towards A Sustainable Earth: Print Only When Necessary
回复