adb command to control cpu frequency and cpu core number
时间:10-02
整理:3721RD
点击:
[DESCRIPTION]
Some adb commandto control cpu frequency and cpu core number.
[SOLUTION]
Turn off cpu hotplug:
adb shell "echo 0 > /proc/hps/enabled"
Fix cpu in max frequency:
adb shell "echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor"
turn on 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"
adb shell "echo 1 > /sys/devices/system/cpu/cpu3/online"
adb shell "echo 1 > /sys/devices/system/cpu/cpu4/online"
adb shell "echo 1 > /sys/devices/system/cpu/cpu5/online"
adb shell "echo 1 > /sys/devices/system/cpu/cpu6/online"
adb shell "echo 1 > /sys/devices/system/cpu/cpu7/online"
turn off 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"
adb shell "echo 0 > /sys/devices/system/cpu/cpu3/online"
adb shell "echo 0 > /sys/devices/system/cpu/cpu4/online"
adb shell "echo 0 > /sys/devices/system/cpu/cpu5/online"
adb shell "echo 0 > /sys/devices/system/cpu/cpu6/online"
adb shell "echo 0 > /sys/devices/system/cpu/cpu7/online"
Note: echo 1 to turn on, echo 0 to turn off.
Fixed CPU frequency (valid under SCREEN ON)
Set wanted frequency by index X
adb shell "echo X > /proc/cpufreq/cpufreq_oppidx"
Confirm setting
adb shell "cat /proc/cpufreq/cpufreq_oppidx"
X to CPU frequency mapping
0 OP(1300000, 125000),
1 OP(1235000, 123125),
2 OP(1144000, 120000),
3 OP(1040000, 115000),
4 OP(819000, 110000),
5 OP(598000, 105000),
6 OP(442000, 100000),
7 OP(299000, 95000),
Example: Fixed 1.144GHz
2 OP(1144000, 120000),
adb shell "echo 2 > /proc/cpufreq/cpufreq_oppidx"
Such as fix in highest freq, and turn 8 core:
adb shell "echo 0 > /proc/hps/enabled"
adb shell "echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor"
adb shell "echo 1 > /sys/devices/system/cpu/cpu1/online"
adb shell "echo 1 > /sys/devices/system/cpu/cpu2/online"
adb shell "echo 1 > /sys/devices/system/cpu/cpu3/online"
adb shell "echo 1 > /sys/devices/system/cpu/cpu4/online"
adb shell "echo 1 > /sys/devices/system/cpu/cpu5/online"
adb shell "echo 1 > /sys/devices/system/cpu/cpu6/online"
adb shell "echo 1 > /sys/devices/system/cpu/cpu7/online"
How to restore to default DVFS and hotplug:
adb shell "echo 1 > /proc/hps/enabled"
adb shell "echo interactive > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor"
if you want to
假设要加快开机速度:
在init.rc中的配置:
Config in init.rc
write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor "performance"
write /proc/hps/enabled 0
write /sys/devices/system/cpu/cpu1/online 1
write /sys/devices/system/cpu/cpu2/online 1
write /sys/devices/system/cpu/cpu3/online 1
write /sys/devices/system/cpu/cpu4/online 1
write /sys/devices/system/cpu/cpu5/online 1
write /sys/devices/system/cpu/cpu6/online 1
write /sys/devices/system/cpu/cpu7/online 1
……
on property:service.bootanim.exit=1
write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor "interactive"
write /proc/hps/enabled 1
设置CPU 开核关核的水位值:
cpu hotplug threshold:
get down_threshold:
cat /proc/hps/down_threshold
set down_threshold:
echo 70 > /proc/hps/down_threshold
get up_threshold:
cat /proc/hps/up_threshold
set down_threshold:
echo 80 > /proc/hps/up_threshold
CPU 颗数下限跟上限设置,ps,有机会被系统默认场景给覆盖掉,譬如touch会固定最小3核,所以
如果不小心touch 到屏幕,就需要重新设置才能生效.
CPU Core setting:
X means CPU core num.
Echo X > /proc/hps/num_base_perf_serv
Such as at least turn on 2 core:
Echo 2 > /proc/hps/num_base_perf_serv
Echo X > /proc/hps/num_limit_power_serv
Such as at more turn on 3 core:
Echo 3 > /proc/hps/num_limit_power_serv
CPU频率的下限跟上限, ps,有机会被系统默认场景给覆盖掉,譬如touch会固定最小频率为
800M,所以如果不小心touch 到屏幕,就需要重新设置才能生效.
CPU freq up bound:
Echo XXXX > /proc/cpufreq/cpufreq_limited_max_freq_by_user
Such as set the max freq to 1209000
Echo 1209000 > /proc/cpufreq/cpufreq_limited_max_freq_by_user
Cpu freq bottom bound:
Echo XXXX > /proc/cpufreq/cpufreq_limited_by_hevc
Such as set the base freq to 1001000
Echo 1001000> /proc/cpufreq/cpufreq_limited_max_freq_by_user
Xxxx means cpu frequece:
You cat get fROM:
cat /proc/cpufreq/cpufreq_oppidx
[MT_CPU_DVFS_LITTLE/0]
cpufreq_oppidx = 7
OP(1300000, 121250),
OP(1209000, 121250),
OP(1105000, 121250),
OP(1001000, 121250),
OP(903500, 121250),
OP(754000, 121250),
OP(604500, 121250),
OP(604500, 121250),
OR get:
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
1300000 1209000 1105000 1001000 903500 754000 604500 604500
