如何更改内核定时器频率

时间:2012-11-17 04:14:52

标签: linux unix ubuntu kernel

我对改变内核频率有疑问。

我使用:

编译内核
        make menuconfig(do some changes in config)
        (under Processor type and features->Timer frequency to change frequency)
        1.fakeroot make-kpkg --initrd --append-to-version=-mm kernel-image kernel-headers
        2.export CONCURRENCY_LEVEL=3
        3.sudo dpkg -i linux-image-3.2.14-mm_3.2.14-mm-10.00.Custom_amd64.deb
        4.sudo dpkg -i linux-headers-3.2.14-mm_3.2.14-mm-10.00.Custom_amd64.deb

然后说如果我想改变内核的频率,

我做的是:

        I replaced .config file with my own config file
        (since I want to do this automatically without opening make menuconfig ui)

然后我再次重复步骤1,2,3,4

无论如何我不需要重复上述4个步骤吗?

非常感谢!!!!

3 个答案:

答案 0 :(得分:1)

计时器频率在Linux中是固定的(除非你构建一个无空符内核 - CONFIG_NO_HZ = y - 但上限仍然是固定的)。您无法在运行时或启动时更改它。您只能在编译时更改它。

所以答案是:不。如果要更改内核,则需要重建内核。

答案 1 :(得分:0)

内核计时器频率(CONFIG_HZ)在运行时可配置 - 当您更改设置时必须编译新内核并且< em>将必须使用新内核重启系统,以查看任何更改的影响。

但是,如果你这么做很多,你应该能够创建一个小的shell脚本来自动化内核配置/构建/安装过程。例如,自动化程序不应该太难,例如

./kernel-prep-with-hz 100

将重建并安装新内核,只需要您发出最终重启命令。

请记住,定时器频率可能会以不可预测的方式对各个子系统产生微妙的影响,尽管自从引入无定时器代码以来事情变得更好了。

为什么要这样做呢?

答案 2 :(得分:-1)

也许这会有所帮助。如文章所述,您可以更改系统支持的可用频率之间的频率。 (Check if CPUfreq is already enabled in your system

示例,我的。

#cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies  
2000000 1667000 1333000 1000000
#echo 1000000 > cpu0/cpufreq/scaling_min_freq

http://www.ibm.com/developerworks/linux/library/l-cpufreq-2/