cpu节点相关信息解释(正点原子笔记)

cat /proc/cpuinfo
cpu节点相关信息解释(正点原子笔记)_第1张图片
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
 >;

你可能感兴趣的:(linux,运维,服务器)