cat /proc/cpuinfo

BogoMIPS 是 Linux 系统中衡量处理器运行速度的一个“尺子”,处理器性能越强,主频越高,BogoMIPS 值就越大。
BogoMIPS 只是粗略的计算 CPU 性能,并不十分准确。可以通过 BogoMIPS 值来大致的判断当前处理器的性能。
目录/sys/bus/cpu/devices/cpu0/cpufreq
cpuinfo_cur_freq:当前 cpu 工作频率,从 CPU 寄存器读取到的工作频率。
cpuinfo_max_freq:处理器所能运行的最高工作频率(单位: KHz)。
cpuinfo_min_freq :处理器所能运行的最低工作频率(单位: KHz)。
cpuinfo_transition_latency:处理器切换频率所需要的时间(单位:ns)。
scaling_available_frequencies:处理器支持的主频率列表(单位: KHz)。
scaling_available_governors:当前内核中支持的所有 governor(调频)类型。
scaling_cur_freq:保存着 cpufreq 模块缓存的当前 CPU 频率,不会对 CPU 硬件寄存器进
行检查。
scaling_driver:该文件保存当前 CPU 所使用的调频驱动。
scaling_governor:governor(调频)策略,Linux 内核一共有 5 中调频策略,
①、Performance,最高性能,直接用最高频率,不考虑耗电。
②、Interactive,一开始直接用最高频率,然后根据 CPU 负载慢慢降低。
③、Powersave,省电模式,通常以最低频率运行,系统性能会受影响,一般不会用这个!
④、Userspace,可以在用户空间手动调节频率。
⑤、Ondemand,定时检查负载,然后根据负载来调节频率。负载低的时候降低 CPU 频率,
这样省电,负载高的时候提高 CPU 频率,增加性能。
scaling_max_freq:governor(调频)可以调节的最高频率。
cpuinfo_min_freq:governor(调频)可以调节的最低频率。
stats 目录下给出了 CPU 各种运行频率的统计情况,比如 CP
stats 目录下给出了 CPU 各种运行频率的统计情况,比如 CPU 在各频率下的运行时间以及
变频次数。
查看 stats 目录下的 time_in_state 文件可以看到 CPU 在各频率下的工作时间,命令如下:
cat /sys/bus/cpu/devices/cpu0/cpufreq/stats/time_in_state。
如何调整cpu频率让他一直工作在性能模式?
方法一:修改.config文件
CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_GOV_INTERACTIVE=y
修改为
#CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_GOV_INTERACTIVE=y
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
修改完成以后重新编译 Linux 内核,编译之前先清理一下工程!因为我们重新修改过默认
配置文件了,编译完成以后使用新的 zImage 镜 像 文 件 重新 启动 Linux 。

方法2:修改menuconfig
CPU Power Management
-> CPU Frequency scaling
-> Default CPUFreq governor
选择performance。
选择以后退出图形化配置界面,然后编译 Linux
内核,一定不要清理工程!否则的话我们刚刚的设置就会被清理掉。编译完成以后使用新的
zImage 重启 Linux,查看当前 CPU 的工作频率和调频策略。
如何添加对其他频点的支持?
cpu0: cpu@0 {
compatible = "arm,cortex-a7"
device_type = "cpu";
reg = <0>;
clock-latency = <61036>; /* two CLK32 periods */
operating-points = <
/* kHz uV */
996000 1275000
792000 1225000
696000 1225000 /*新增频点*/
528000 1175000
396000 1025000
198000 950000
>;
fsl,soc-operating-points = <
/* KHz uV */
996000 1175000
792000 1175000
696000 1175000 /*新增频点*/
528000 1175000
396000 1175000
198000 1175000
>;
BogoMIPS是衡量Linux处理器速度的指标,但不精确。CPU的性能可通过工作频率、最大/最小频率等参数判断。文章提到了不同调频策略,如Performance、Interactive和Powersave,以及如何调整CPU频率和添加支持的新频点。


774

被折叠的 条评论
为什么被折叠?



