running ptop,ECPU总是0--添加Module "cpufreq_stats"

调好程序后,运行发现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/ 文件夹下~即可

 

 

你可能感兴趣的:(Module)