控制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 好玩的东东 会不会出问题呀 谢谢,强烈支持!!! 请有兴趣的朋友帮我执行一下这个命令
$ 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
理论上应该都一样。 /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 自己顶一下。 不错.可以试试,晚上挂bt用 :mrgreen: 想动态调整,安装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 呵呵。。。就是这样。。这个程序就是上面那几个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的最佳组合。 牛人,当个小白鼠。
页:
[1]