lvscar 发表于 2006-8-5 21:57:15

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

写了个控制cpu变频范围的小程序。。
http://forum.ubuntu.org.cn/files/cpufreq_520.png

我的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版发布:
http://lvscar.googlepages.com/cpufreq1.png
http://lvscar.googlepages.com/cpufreq2.png
cpu 风扇 工作模式选择。
http://lvscar.googlepages.com/cpufreq3.png
cpu 变频次数 和各频率运行比例 统计。

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


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

magiclinux 用户请参考下面地址 下载安装wxpython:
http://www.linuxfans.org/nuke/modules.php?name=Forums&file=viewtopic&t=158935&start=15&postdays=0&postorder=asc&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 gmail.com   

下载请到:
http://www.linuxfans.org/nuke/modules.php?name=Site_Downloads&op=geninfo&did=4498

npcomet 发表于 2006-8-5 22:02:58

好玩的东东

muwanqing 发表于 2006-8-5 23:00:10

会不会出问题呀

cruelwei 发表于 2006-8-6 20:31:36

谢谢,强烈支持!!!

lvscar 发表于 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_freqscaling_available_frequenciesscaling_governor
cpuinfo_max_freqscaling_available_governors    scaling_max_freq
cpuinfo_min_freqscaling_cur_freq               scaling_min_freq

/sys/devices/system/cpu/cpu0/cpufreq/ondemand:
ignore_nice         sampling_rate      sampling_rate_min
sampling_down_factorsampling_rate_maxup_threshold

/sys/devices/system/cpu/cpu0/cpufreq/stats:
time_in_statetotal_transtrans_table

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

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

理论上应该都一样。

antipro 发表于 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_frequenciesscaling_setspeed
scaling_available_governors    stats
scaling_cur_freq
#CPU类型
/sys/devices/system/cpu/cpu0/cpufreq/stats:
time_in_statetotal_transtrans_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

lvscar 发表于 2006-8-9 00:18:57

自己顶一下。

雪落无影 发表于 2006-8-9 02:11:08

不错.可以试试,晚上挂bt用 :mrgreen:

bookstack 发表于 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

lvscar 发表于 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的最佳组合。

mbprobe 发表于 2006-11-21 11:01:54

牛人,当个小白鼠。
页: [1]
查看完整版本: 控制cpu变频范围的小程序。[1.0版发布]