android 调整cpu频率,[IMX6DL][Android4.4] CPU频率调节模式以及降频方法
Kernel branch: 3.0.35
CPU的频率调节模式:
1. Performance. 不考虑耗电,只用最高频率。
2. Interactive. 直接上最高频率,然后看CPU负荷慢慢降低。
3. Powersave. 通常以最低频率运行,流畅度会受影响,一般不会用这个吧!
4. Userspace. 可以在用户空间手动调节频率。
5. Ondemand. 定期检查负载,根据负载来调节频率。
cpu频率相关的目录:
root@tek_mx6:/sys/devices/system/cpu/cpuX, X表示cpu number.
root@tek_mx6:/sys/devices/system/cpu/cpu0/cpufreq # ls
affected_cpus
cpuinfo_cur_freq
cpuinfo_max_freq
cpuinfo_min_freq
cpuinfo_transition_latency
related_cpus
scaling_available_frequencies
scaling_available_governors
scaling_cur_freq
scaling_driver
scaling_governor
scaling_max_freq
scaling_min_freq
scaling_setspeed
stats
工作模式:
当前支持的cpu调节模式可通过scaling_available_frequencies查看,
root@tek_mx6:/sys/devices/system/cpu/cpu0/cpufreq # cat scaling_available_governors
interactive conservative ondemand userspace powersave performance
可通过defconfig编译进去:
kernel_imx/arch/arm/configs/imx6_tek_android_defconfig:
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
......
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
CONFIG_CPU_FREQ_GOV_INTERACTIVE=y
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
默认使用了performance,不过freescale在boot完成后改成了interactive.
device/fsl/tek_mx6/init.rc:
on property:sys.boot_completed=1
# Set default CPU frequency governor
# Set timer 40ms, min sample 60ms,hispeed at cpufreq MAX freq in freq_table at load 40%
write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor interactive
最终可通过scaling_governor文件查看。
工作频率:
当前支持的cpu调节模式可通过 scaling_available_frequencies 查看。
root@tek_mx6:/sys/devices/system/cpu/cpu0/cpufreq # cat scaling_available_frequencies
vailable_frequencies
996000 792000 396000
当前工作频率可通过scaling_cur_freq查看。
支持的频率以及最大频率是在文件:
kernel_imx/arch/arm/mach-mx6/cpu_op-mx6.c
struct cpu_op *mx6_get_cpu_op(int *op)
{
if (cpu_is_mx6dl()) {
if (arm_max_freq == CPU_AT_1_2GHz) {
*op = num_cpu_op = ARRAY_SIZE(mx6dl_cpu_op_1_2G);
return mx6dl_cpu_op_1_2G;
} else if (arm_max_freq == CPU_AT_1GHz) {
*op = num_cpu_op = ARRAY_SIZE(mx6dl_cpu_op_1G);
return mx6dl_cpu_op_1G;
} else {
*op = num_cpu_op = ARRAY_SIZE(mx6dl_cpu_op);
return mx6dl_cpu_op;
}
} else if (cpu_is_mx6q()) {
......
} else {
......
}
}根据平台以及默认的最大频率来选择对应的频率列表。
所以降频有两种方法:
1. 直接编译静态修改频率列表。
2. 通过scaling_max_freq文件动态写入。
android 调整cpu频率,[IMX6DL][Android4.4] CPU频率调节模式以及降频方法相关推荐
- Linux:CPU频率调节模式以及降频方法简介
概述 cpufreq的核心功能,是通过调整CPU的电压和频率,来兼顾系统的性能和功耗.在不需要高性能时,降低电压和频率,以降低功耗:在需要高性能时,提高电压和频率,以提高性能. cpufreq 是一个 ...
- CPU频率调节模式以及降频方法简介
在kernel中实现了两个driver,一个负责控制开关CPU的核数,叫做hot-plug驱动,另一个负责调整CPU的频率,叫做DVFS驱动.kernel中的driver会根据系统的负载,自动调整使用 ...
- Android 省电模式 降频吗,开启省电模式会降频吗
满意答案 siyangjz 2017.02.01 采纳率:42% 等级:7 已帮助:61人 手机电量节省方法: 一.调低屏幕亮度 手机耗电最大的是屏幕,所以省电从调低屏幕亮度开始,不用担心把亮度 ...
- 【Verilog基础】分频器(分频(频率变小,周期变大)、倍频(频率变大,周期变小)、体会降频方法)
文章目录 一.分频器要点总结 二.偶数分频器 三.奇数分频器 一.分频器要点总结 1.为啥要有分频.倍频? (1)时钟通常由板载晶振或**PLL(锁相环)**产生 (2)板载晶振提供的时钟信号频率固定 ...
- android 手机超频降频秘籍
不用软件超频降频CPU GPU 官方正式版没试过,因为我已经刷了心灵的集优版了,心灵的内核已经支持频率调节CPU,但是GPU还没有实现. CPU篇 CPU频率,governor都在这个文件夹下面,/s ...
- android启动过程中cpu降频,android省电开发之cpu降频
众所周知,在android系统的耗电量排行里,cpu的耗电占了比较大的一部分比例,也就是说,cpu的使用率和使用频率将直接或间接的影响电量的分配和使用,但很遗憾,android-sdk中没有为andr ...
- android省电开发之cpu降频
众所周知,在android系统的耗电量排行里,cpu的耗电占了比较大的一部分比例,也就是说,cpu的使用率和使用频率将直接或间接的影响电量的分配和使用,但很遗憾,android-sdk中没有为andr ...
- Android Studio 性能优化工具 - Profiler、CPU Profiler、Memory Profiler、Netwrok Profiler、Evengy Profiler 详解
关于性能优化的问题,可能一直有遇到,也一直在解决,但是在中小厂和自我要求不严格的场景下,我们很少去实实在在的做性能优化: 在性能优化中我们通常会通过自己的经验或工具来发现问题,本想着能短时间内搞定Pr ...
- ubuntu下cpu以最大频率运行、查看CPU主频几种方法
1.安装cpufrequtils:sudo apt-get install cpufrequtils 2.查看cpu:sudo cpufreq-info (本命令从内核/硬件中收集并报告CPU频率 ...
最新文章
- The Six Best Practices(1~3)
- ansible的模块使用
- onedrive下载
- ExtJs TreePanel 不能加载ashx数据的解决办法
- 说说你对http、https、http2.0的理解【前端每日一题-25】
- 2010年11月编程语言排行榜:手机里的代码
- python发邮件主机找不到_Python 使用QQ邮箱发邮件
- 【转】深入浅出图解C#堆与栈 C# Heap(ing) VS Stack(ing) 第四节 参数传递对堆栈的影响 1
- 分布式系统面试 - 常见问题
- Android中最常用也是最难用的控件——ListView
- 辽宁省计算机辅助普通话水平测试应试指南,计算机辅助普通话水平测试 应 试 指 南...
- 2021年已经过去了4天,创业者、负债累累而希望通过再创业实现东山再起者,你们准备的怎么样了?
- Anbox之push_locked与pop_locked(十三)
- 关于matlab中 CC = bwconncomp(A,4)命令的问题
- 【笔记】人工智能 一种现代方法 第1章 绪论
- PCB 18种特殊走线的画法与技巧!
- onenote标注pdf笔记_你们怎么用onenote做读书笔记呢?
- 神器vimium:比同级程序员成长更快,我主要靠它
- C++ SuperLU 混合编程
- Oracle中的dual表
热门文章
- Classes in JScript – Part III 类的继承与封装
- python爬取基金历史净值_Python爬取天天基金网历史净值数据
- python3 并行计算_Python-并行计算
- 机器学习(Machine Learning)- 吴恩达(Andrew Ng)-学习笔记
- 三维重建:SFM中BA的并行化
- deeplearning4j – 分布式DL开源项目
- system(“”start calc“”)
- 人人都能学会的python编程教程(基础篇)完整版
- springMVC解析视图
- 优雅且高效的使用Chrome Developer Tools