QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1463|回复: 10

控制cpu变频范围的小程序。[1.0版发布]

[复制链接]
发表于 2006-8-5 21:57:15 | 显示全部楼层 |阅读模式
写了个控制cpu变频范围的小程序。。


我的cpu是 0.6Ghz-1.7Ghz的。

我喜欢工作时候设置为1.7GHz-1.2GHz,
不插电时设置为1.2GHz-0.8GHz
晚上挂驴下载时设为0.8Ghz-0.6Ghz

理论上通过linux2.6内核模块可以支持所有可变频的intel,AMD的CPU。

大家有兴趣吗?
我再完善两天(加上变频模式,和cpu风扇工作模式选择,写个安装脚本。。。。)
放出来。

8月8日
1.0版发布:


cpu 风扇 工作模式选择。

cpu 变频次数 和  各频率运行比例 统计。

cpu风扇工作模式解释:
主动模式:风扇持续低转速运行,随着cpu温度身高逐渐提高转速。
被动模式:空闲时风扇停转,当cpu温度超过BIOS设置的阀值时,启动风扇降温,温度下降时再停止风扇工作。


本程序由wxpython完成。
安装前请确认你有wxpython运行环境。

magiclinux 用户请参考下面地址 下载安装wxpython:
http://www.linuxfans.org/nuke/mo ... ;highlight=wxpython

debian,ubuntu用户请执行
$sudo apt-get install python-wxgtk2.6
安装 wxpython。


安装提示:
$sudo install.py
或者
$su root
#./install.py
安装完成后
运行
$cpufreq
启动本程序.

如果你确认你已经安装了wxpython。
你也可以不安装  直接以root权限运行 cpufreq
$ sudo lib/frame.py


如果有问题 欢迎和我联系
lvscar [AT] gmail.com   

下载请到:
http://www.linuxfans.org/nuke/mo ... fo&did=4498
发表于 2006-8-5 22:02:58 | 显示全部楼层
好玩的东东
回复

使用道具 举报

发表于 2006-8-5 23:00:10 | 显示全部楼层
会不会出问题呀
回复

使用道具 举报

发表于 2006-8-6 20:31:36 | 显示全部楼层
谢谢,强烈支持!!!
回复

使用道具 举报

 楼主| 发表于 2006-8-6 21:51:10 | 显示全部楼层
请有兴趣的朋友  帮我执行一下这个命令
$ ls -R /sys/devices/system/cpu/cpu0/cpufreq/
帖出你们的结果。
我这里(Intel Pentium M) 显示如下:
affected_cpus     ondemand                       scaling_driver    stats
cpuinfo_cur_freq  scaling_available_frequencies  scaling_governor
cpuinfo_max_freq  scaling_available_governors    scaling_max_freq
cpuinfo_min_freq  scaling_cur_freq               scaling_min_freq

/sys/devices/system/cpu/cpu0/cpufreq/ondemand:
ignore_nice           sampling_rate      sampling_rate_min
sampling_down_factor  sampling_rate_max  up_threshold

/sys/devices/system/cpu/cpu0/cpufreq/stats:
time_in_state  total_trans  trans_table

并贴出你们的cpu类型
$ cat /proc/cpuinfo

如果是双核的 请执行
$ ls -R /sys/devices/system/cpu

理论上应该都一样。
回复

使用道具 举报

发表于 2006-8-6 22:38:40 | 显示全部楼层
/sys/devices/system/cpu/cpu0/cpufreq/:
affected_cpus                  scaling_driver
cpuinfo_cur_freq               scaling_governor
cpuinfo_max_freq               scaling_max_freq
cpuinfo_min_freq               scaling_min_freq
scaling_available_frequencies  scaling_setspeed
scaling_available_governors    stats
scaling_cur_freq
#CPU类型
/sys/devices/system/cpu/cpu0/cpufreq/stats:
time_in_state  total_trans  trans_table

processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 13
model name      : Intel(R) Pentium(R) M processor 1.60GHz
stepping        : 6
cpu MHz         : 1598.869
cache size      : 2048 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 2
wp              : yes
flags           : fpu vme de pse tsc msr mce cx8 sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss tm pbe est tm2
bogomips        : 3200.09
回复

使用道具 举报

 楼主| 发表于 2006-8-9 00:18:57 | 显示全部楼层
自己顶一下。
回复

使用道具 举报

发表于 2006-8-9 02:11:08 | 显示全部楼层
不错.可以试试,晚上挂bt用
回复

使用道具 举报

发表于 2006-8-10 03:38:25 | 显示全部楼层
想动态调整,安装cpufreqd,
想手动调整,直接
echo $maximum_freq > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
echo $minium_freq > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq

想知道speed step:
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies

想知道统计状况:
cat /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state
回复

使用道具 举报

 楼主| 发表于 2006-8-10 04:18:22 | 显示全部楼层
呵呵。。。  就是这样。。这个程序就是上面那几个echo命令的gui封装。   
这阵子在学wxpython,,,实践一下。
echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

governor 调节没有加上去。。看了文档说。。 (某些cpu在调节governor时会出问题)
默认一般都是用userspace 作为governor。  好 方便 像 powernowd /cpufreqd这些程序 根据cpu负荷动态变频。。
但问题是 这些变频都会有些许 延迟。。。。  很多程序的UI感受会受到影响。。

所以  使用ondemand 作为 governor (不能使用powernowd /cpufreqd 这些程序),由cpu硬件自身实现变频(变频几乎没有延迟)。  再手动设置变频范围。
在我这里的实践中。 是笔记本cpu运行linux的最佳组合。
回复

使用道具 举报

发表于 2006-11-21 11:01:54 | 显示全部楼层
牛人,当个小白鼠。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-28 04:31 , Processed in 0.101332 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表