调好程序后,运行发现ecpu总是0,调试发现check_cpufreq_stats总是返回0,即not supported
解决方案:
参考http://blog.sina.com.cn/s/blog_62218fc80100rko7.html
http://hi.baidu.com/asalwayswinter/item/35e1da4815daa496823ae10e
参考一: /*选择并启用与CPU相对应的内核模块*/ 为确保接下来的工作是有意义的,首先确保您的CPU频率调节功能还没有启用~ # cd /sys/devices/system/cpu/cpu0 # ls -l 如果没有看到名为cpufreq的文件夹,则先看一下可以用的驱动: # ls /lib/modules/`uname -r`/kernel/arch/*/kernel/cpu/cpufreq */ 在我的电脑看到的是这样的,估计你的也差不多。 [pre]acpi-cpufreq.ko longrun.ko powernow-k8.ko speedstep-smi.ko cpufreq-nforce2.ko p4-clockmod.ko speedstep-centrino.ko gx-suspmod.ko powernow-k6.ko speedstep-ich.ko longhaul.ko powernow-k7.ko speedstep-lib.ko 这些都是可选的驱动,但是与不同的CPU相匹配。常用的是: p4-clockmod.ko Intel P4的处理器 speed-centrino.ko 迅弛,很多笔记本都是这个 powernow-k*.ko AMD处理器用的 acpi-cpufreq.ko 如果所有的都不行,试试这个,(但2.6.20或以上的内核推荐优先使用该项) 上表列出的只是常用的,如果不行,试一下其它的。 试的方法是: 1. 加载该内核模块,如 #modprobe acpi-cpufreq //注意是模块名是把上面的文件名去掉.ko。 2. 如果没有错误信息,就对了。如果要确认,看一下 # cd /sys/devices/system/cpu/cpu0 # ls -l 是否有cpufreq。
参考: http://forums.fedoraforum.org/showthread.php?t=260747 http://blog.csdn.net/hansel/article/details/2903709 centos 6.2,打印ECPU的时候总是0,查看代码,发现是找不到文件 /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state 如下步骤 $ lsmod | grep cpufreq_stats 无内容 $ ls -al /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state ls: cannot access /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state: No such file or directory $ sudo modprobe cpufreq_stats $ lsmod | grep cpufreq_stats cpufreq_stats 3117 0 $ ls -al /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state -r--r--r-- 1 root root 4096 Mar 29 11:48 /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state $ cat /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state 1600000 38511333000 1851067000 231800000 15160 然后就有了 修改/etc/rc.d/rc.sysinit
(本人修改的是)/etc/rc.local 最后加入 modprobe cpufreq_stats ,即可开机启动
如果在modprobe cpufreq_stats时报错,Module cpufreq_stats not found
则find / -name cpufreq_stats.ko
我的在drivers文件夹里发现了。拷贝到arch文件夹下
/lib/modules/2.6.32-358.2.1.el6.x86_64/kernel/drivers/cpufreq/cpufreq_stats.ko
将其拷贝到/lib/modules/2.6.32-358.2.1.el6.x86_64/kernel/arch/x86/kernel/cpu/cpufreq/ 文件夹下~即可