12. 系统设置(频率等)

本章中介绍的内容适用于LubanCat-H618系列板卡,大部分也适用于其它开发主机中的Ubuntu系统,请尝试在两种平台上执行相关的命令查看信息,比较差异。

12.1. 相关频率设置

12.1.1. CPU频率设置

鲁班猫板卡CPU默认是 ondemand 状态,它会根据CPU使用率和目标负载来动态地调整CPU频率。 为获得更高运行速度或者性能评估,我们需要手动固定频率,参考下这:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
# 查看CPU当前频率
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq

# 查看CPU当前调频策略
cat /sys/devices/system/cpu/cpufreq/policy0/scaling_governor

# 查看可以设置的频率
cat /sys/devices/system/cpu/cpufreq/policy0/scaling_available_frequencies

# 查看可以设置的CPU模式
cat /sys/devices/system/cpu/cpufreq/policy0/scaling_available_governors

# 设置为高性能模式
echo performance > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor

# 设置为用户模式,使用户可以通过root权限写入scaling_setspeed文件
echo userspace > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor

# 设置需要固定的频率
echo 1512000 > /sys/devices/system/cpu/cpufreq/policy0/scaling_setspeed

LubanCat-H618系列板卡CPU模式:

  • Ondemand(按需模式):根据CPU的当前使用率,动态的调节CPU频率。scheduler(调度器)通过调用ondemand注册进来的钩子函数来触发系统负载的估算(异步的)。它以一定的时间间隔对系统负载情况进行采样。按需动态调整CPU频率, 如果的CPU当前使用率超过设定阈值,就会立即达到最大频率运行,等执行完毕就立即回到最低频率,但因频率变化幅度过大,省电方面只有一般的水平。好处是调频速度快,但问题是调的不够精确。

  • Conservative(保守模式):和Ondemand模式类似,不过有操作时提升cpu频率的速度较慢,空闲时迅速降频,所以名字叫保守模式,性能较低,省电程度略好于ondemand。很常见的调速器,规则是“慢升快降”,注重省电,当有高需求时逐渐提高频率,当低需求迅速跳至低频率。

  • Powersave(省电模式):功耗优先的governor(调节器),直接将cpu频率设置policy->{min,max}中的最小值。因为它的作用就是把频率锁定在设定范围的最小值,负载再高也不升高频率,因此很省电。

  • Performance(高性能模式):性能优先的governor(调节器),直接将cpu频率设置为policy->{min,max}中的最大值。即使系统负载非常低cpu的频率也为最高,因此性能很好,但是电量消耗较快,温度也高一些。

  • Userspace(用户模式):由用户空间程序通过scaling_setspeed文件节点修改频率。严格来说它并不是一个模式,是允许非内核进程控制cpu频率的设置,这个调节器不包含任何CPU变化规则,所以全靠自己设定,普通用户不推荐使用。

  • Schedutil:基于调度器的 CPU 调频机制,其作用是让scheduler和调频建立起更加紧密的联系,同时提升了性能和功耗表现(调频上升和下降的曲线都更加陡峭,频率更快的上升或者下降到目标频率)。