[DESCRIPTION]
因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 关掉
恢复最初 cpu core设置
adb shell “echo 1 > /proc/hps/enabled”
adb shell "echo interactive > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor"
手动设定大小核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)
对于是否系统过热而引起的性能差异判断方式:
为避免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"