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频率调节模式以及降频方法相关推荐

  1. Linux:CPU频率调节模式以及降频方法简介

    概述 cpufreq的核心功能,是通过调整CPU的电压和频率,来兼顾系统的性能和功耗.在不需要高性能时,降低电压和频率,以降低功耗:在需要高性能时,提高电压和频率,以提高性能. cpufreq 是一个 ...

  2. CPU频率调节模式以及降频方法简介

    在kernel中实现了两个driver,一个负责控制开关CPU的核数,叫做hot-plug驱动,另一个负责调整CPU的频率,叫做DVFS驱动.kernel中的driver会根据系统的负载,自动调整使用 ...

  3. Android 省电模式 降频吗,开启省电模式会降频吗

    满意答案 siyangjz 2017.02.01 采纳率:42%    等级:7 已帮助:61人 手机电量节省方法: 一.调低屏幕亮度 手机耗电最大的是屏幕,所以省电从调低屏幕亮度开始,不用担心把亮度 ...

  4. 【Verilog基础】分频器(分频(频率变小,周期变大)、倍频(频率变大,周期变小)、体会降频方法)

    文章目录 一.分频器要点总结 二.偶数分频器 三.奇数分频器 一.分频器要点总结 1.为啥要有分频.倍频? (1)时钟通常由板载晶振或**PLL(锁相环)**产生 (2)板载晶振提供的时钟信号频率固定 ...

  5. android 手机超频降频秘籍

    不用软件超频降频CPU GPU 官方正式版没试过,因为我已经刷了心灵的集优版了,心灵的内核已经支持频率调节CPU,但是GPU还没有实现. CPU篇 CPU频率,governor都在这个文件夹下面,/s ...

  6. android启动过程中cpu降频,android省电开发之cpu降频

    众所周知,在android系统的耗电量排行里,cpu的耗电占了比较大的一部分比例,也就是说,cpu的使用率和使用频率将直接或间接的影响电量的分配和使用,但很遗憾,android-sdk中没有为andr ...

  7. android省电开发之cpu降频

    众所周知,在android系统的耗电量排行里,cpu的耗电占了比较大的一部分比例,也就是说,cpu的使用率和使用频率将直接或间接的影响电量的分配和使用,但很遗憾,android-sdk中没有为andr ...

  8. Android Studio 性能优化工具 - Profiler、CPU Profiler、Memory Profiler、Netwrok Profiler、Evengy Profiler 详解

    关于性能优化的问题,可能一直有遇到,也一直在解决,但是在中小厂和自我要求不严格的场景下,我们很少去实实在在的做性能优化: 在性能优化中我们通常会通过自己的经验或工具来发现问题,本想着能短时间内搞定Pr ...

  9. ubuntu下cpu以最大频率运行、查看CPU主频几种方法

    1.安装cpufrequtils:sudo apt-get install cpufrequtils 2.查看cpu:sudo cpufreq-info   (本命令从内核/硬件中收集并报告CPU频率 ...

最新文章

  1. The Six Best Practices(1~3)
  2. ansible的模块使用
  3. onedrive下载
  4. ExtJs TreePanel 不能加载ashx数据的解决办法
  5. 说说你对http、https、http2.0的理解【前端每日一题-25】
  6. 2010年11月编程语言排行榜:手机里的代码
  7. python发邮件主机找不到_Python 使用QQ邮箱发邮件
  8. 【转】深入浅出图解C#堆与栈 C# Heap(ing) VS Stack(ing) 第四节 参数传递对堆栈的影响 1
  9. 分布式系统面试 - 常见问题
  10. Android中最常用也是最难用的控件——ListView
  11. 辽宁省计算机辅助普通话水平测试应试指南,计算机辅助普通话水平测试 应 试 指 南...
  12. 2021年已经过去了4天,创业者、负债累累而希望通过再创业实现东山再起者,你们准备的怎么样了?
  13. Anbox之push_locked与pop_locked(十三)
  14. 关于matlab中 CC = bwconncomp(A,4)命令的问题
  15. 【笔记】人工智能 一种现代方法 第1章 绪论
  16. PCB 18种特殊走线的画法与技巧!
  17. onenote标注pdf笔记_你们怎么用onenote做读书笔记呢?
  18. 神器vimium:比同级程序员成长更快,我主要靠它
  19. C++ SuperLU 混合编程
  20. Oracle中的dual表

热门文章

  1. Classes in JScript – Part III 类的继承与封装
  2. python爬取基金历史净值_Python爬取天天基金网历史净值数据
  3. python3 并行计算_Python-并行计算
  4. 机器学习(Machine Learning)- 吴恩达(Andrew Ng)-学习笔记
  5. 三维重建:SFM中BA的并行化
  6. deeplearning4j – 分布式DL开源项目
  7. system(“”start calc“”)
  8. 人人都能学会的python编程教程(基础篇)完整版
  9. springMVC解析视图
  10. 优雅且高效的使用Chrome Developer Tools