1.cpu初始化
linux cpu管理(一) cpu初始化 - 知乎 (zhihu.com)
2.动态调频cpufreq
Linux动态调频cpufreq framework_cpu动态调频-CSDN博客
3.cpu模式
查看当前系统的 cpu 核数
ls -l /sys/devices/system/cpu
查看 cpu 支持的频率
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
指定频率到 cpu0
echo 1440000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
禁用某个指定的内核
echo 0 > /sys/devices/system/cpu/cpu0/online
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
这四个CPU模式分别是以下状态:
1、performance高性能模式:在这个模式系统会按设定最大主频率满负荷运转,主频会一直保持在设定范围内的最大值。它和省电模式相反,始终按设定最高频率运行,此模式亦无任何日常使用价值;
2、hotplug单核模式:在这个模式系统会在检测到CPU低负载关闭一个核心变成单核;
3、powersave省电模式:此模式下系统将保持在设定最小频率低负荷运行。按设定最低频率运行,日常没有使用价值,除非配合setcpu情景模式,关屏睡眠时使用此调节模式;
4、userspace用户隔离模式-:当cpu设置模块处于非工作状态时控制cpu速度的一种方法。严格来说它并不是一个模式,是允许非内核进程控制cpu频率的设置,现在已经不需要它了,setcpu官方的建议是,“不要使用此选项”。
除此之外CPU还有其他以下模式:
1、conservative保守模式:在此模式下系统会回设置较低的频率下降响应参数,主频在空闲时下降更快,更节能,但CPU速度调整会相对慢些;
2、ondemand按需模式:官方及xray内核默认为此项调节模式,顾名思义,按需调节cpu频率,不操作手机的时候控制在最低频率,滑屏或进入应用后会迅速提升至最高频率,当空闲时迅速降低频率,性能较稳定,但因频率变化幅度过大,省电方面只有一般的水平;
3、agfree无延迟模式:基本基于保守模式的频率调节机制,频率上升缓慢,不同之处在于唤醒屏幕后会直接跳跃到一个合适的频率,减少亮起以后的延迟现象,但日常使用性能不高;
4、intellidemand智能按需调节模式:可根据GPU使用情况来针对性调节cpu频率,GPU负载高时,比如运行游戏和测试的时候,cpu频率会迅速升至最高,这时的调节模式类似于ondemand,当GPU空闲时则会自动限制cpu最高频率,更加省电。要游戏性能好,又要省电的可以用下试试;
5、Badass省电模式:当使用badass调节器时,系统将工作在第一限制频率,直到有一个核心超过此频率后再逐步提升,需要脚本支持,比较省电。该模式我正在我的双4中进行调试测试。
但是如果没有做badass限制时,该模式在双核下工作,比较费电。
其他:
cd sys/devices/system/cpu/cpu0/cpufreq
cpuinfo_cur_freq: 当前cpu正在运行的工作频率
cpuinfo_max_freq:该文件指定了处理器能够运行的最高工作频率 (单位: 千赫兹)
cpuinfo_min_freq :该文件指定了处理器能够运行的最低工作频率 (单位: 千赫兹)
cpuinfo_transition_latency:该文件定义了处理器在两个不同频率之间切换时所需要的时间 (单位: 纳秒)
scaling_available_frequencies:所有支持的主频率列表 (单位: 千赫兹)
scaling_available_governors:该文件显示当前内核中支持的所有cpufreq governor类型
scaling_cur_freq:被governor和cpufreq核决定的当前CPU工作频率。该频率是内核认为该CPU当前运行的主频率 scaling_driver:该文件显示该CPU正在使用何种cpufreq driver
scaling_governor:通过echo命令,能够改变当前处理器的governor类型
scaling_max_freq:显示当前policy的上下限 (单位: 千赫兹)需要注意的是,当改变cpu policy时,需要首先设置scaling_max_freq, 然后才是scaling_min_freq
scaling_setspeed:如果用户选择了“userspace” governor, 那么可以设置cpu工作主频率到某一个指定值
查看当前支持的governor(手机型号可能略有不同)
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
performance表示不降频, ondemand表示使用内核提供的功能,可以动态调节频率, powersvae表示省电模式,通常是在最低频率下运行, userspace表示用户模式,在此模式下允许其他用户程序调节CPU频率。