android 如何手动去设置CPU核数,关闭thermal验证performance问题

因CPU或者DVFS设置不同,或Thermal过高而导致性能下降,如何通过adb命令进行设置

[SOLUTION]

对于是否由于CPU或者DVFS不同引起的问题,可以通过下面的命令验证:
首先取得root权限: 请参考FAQ11862 user版本如何打开root权限
手动设定CPU core数量:
setup:(务必先下setup部分,才能下定频定核相关命令)

     不同平台,设置会有差别,下面针对MT6795 相关类似平台

      adb shell "echo 0 > /proc/hps/enabled"    (关闭cpu hotplug)

      adb shell "echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor" (固定最高频)

      开启CPU1~CPU7(CPU0 always on)

      adb shell "echo 1 > /sys/devices/system/cpu/cpu1/online"
      adb shell "echo 1 > /sys/devices/system/cpu/cpu2/online"
        ......
      关闭CPU1~CPU7(CPU0 always on)

      adb shell "echo 0 > /sys/devices/system/cpu/cpu1/online"
    adb shell "echo 0 > /sys/devices/system/cpu/cpu2/online"
        ......
Note: echo 1 打开,echo 0 关掉

 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

恢复最初 cpu core设置
adb shell “echo 1 > /proc/hps/enabled”

      adb shell "echo interactive > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor"

 
 
  • 1

手动设定大小核freq
请根据oppidx档位设定:(oppidx档位请参考以下cat出来的idx)

     adb shell "cat/proc/cpufreq/cpufreq_ptpod_freq_volt"

     如:(设定最高频率)

     adb shell "echo 0 >/proc/cpufreq/cpufreq_oppidx"  (idx :0  is CPU frequency mapping)

 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  1. 对于是否系统过热而引起的性能差异判断方式:

为避免thermal关闭cpu,导致performance差异 ,关闭thermal测试:
adb shell “echo 120000 130000 >/proc/cpufreq/cpufreq_ptpod_temperature_limit”

   adb shell "/system/bin/thermal_manager/etc/.tp/.th120.mtc"  (重启后失效)

   adb shell "echo 0 > /proc/cpufreq/cpufreq_limited_power"

 
 
  • 1
  • 2
  • 3
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值