0

我有一个关于改变内核频率的问题。

我使用以下方法编译内核:

        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个步骤吗?

非常感谢!!!!

4

3 回答 3

2

定时器频率在 Linux 中是固定的(除非您构建一个无滴答内核 - CONFIG_NO_HZ=y - 但上限仍然是固定的)。您不能在运行时或引导时更改它。您只能在编译时更改它。

所以答案是:不。当你想改变它时,你需要重建内核。

于 2012-11-18T02:03:12.270 回答
-1

内核计时器频率 ( CONFIG_HZ)在运行时不可配置 -当您更改设置时必须编译新内核,并且必须使用新内核重新启动系统才能查看任何更改的效果。

但是,如果您经常这样做,您应该能够创建一个小 shell 脚本来自动化内核配置/构建/安装过程。例如,自动化该过程应该不会太难,例如

./kernel-prep-with-hz 100

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

但请记住,尽管自从引入了无滴答定时器代码以来,情况已经变得好很多,但定时器频率可能会以不可预知的方式微妙地影响各种子系统。

你为什么要这样做呢?

于 2012-11-18T09:40:00.830 回答
-2

也许这会有所帮助。正如文章所说,您可以在系统支持的可用频率之间更改频率。(检查您的系统中是否已启用 CPUfreq

例如,我的。

#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/

于 2012-11-17T10:16:19.237 回答