Android CPU scaling

Android 为了省电,会根据CPU load调整对CPU的供电,以牺牲手机性能换取续航。

image.png

CPU governer会不断check CPU load, 来切换CPU的运行模式。

image.png

CPU 切换状态需要20ms去ramp up。

如何强制CPU使用

通过设置/sys/devices/system/cpu/cpu0/cpufreq/scaling_governors来切换CPU运行模式

所有可用的选项通过下面的命令查看
adb shell cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors

  • interactive :根据cpu load动态调整频率,more aggressive
  • conservative: 根据cpu load动态调整频率,增加减少频率时更加温和
  • ondemand :根据cpu load动态调整频率,增加减少频率时比较粗暴
  • userspace :允许用户空间的程序设置CPU的运行频率
  • powersave:以最低频率运行
  • performance: 以最高频率运行
  • sched: Energy Aware Scheduling

要设置CPU全速运行,可以运行下面的命令

adb shell echo -n performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governors

推荐阅读更多精彩内容