MTK平台配置多核cpu oneline和gpu freq提升系统性能
2018-01-15 12:22
1366 查看
硬件平台:MT6797
软件平台:Android 6.0
今日在调整系统跑分性能,我们的板子用的MT6797,板子起来之后,通过adb命令行,查看cpu的状态,因为是十核,因此写了一个精悍的小脚本获取各cpu状态:
#!/system/bin/sh
#echo "1" > /sys/devices/system/cpu/cpu6/online
#cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
#echo "1391000" > /sys/devices/system/cpu/cpu6/cpufreq/scaling_setspeed
CPU_PATH=/sys/class/thermal
CPU_FREQ_BASE=/sys/devices/system/cpu
echo "#####################################"
for i in `seq 11`
do
((i=$i-1))
echo "Cpu$i's Temp is: `cat $CPU_PATH/thermal_zone$i/temp`"
online=`cat $CPU_FREQ_BASE/cpu$i/online`
if [ $online = "1" ];then
echo "Cpu$i's Freq is: `cat $CPU_FREQ_BASE/cpu$i/cpufreq/scaling_cur_freq`"
else
echo "Cpu$i is OFF"
fi
echo -e "\r"
done
echo "#####################################"
push到system/bin目录,运行结果如下:
root@aeon6797_6c_m:/ # cpu_stat.sh
#####################################
Cpu0's Temp is: 30000
Cpu0's Freq is: 715000
Cpu1's Temp is: 32500
Cpu1's Freq is: 715000
Cpu2's Temp is: -127000
Cpu2's Freq is: 715000
Cpu3's Temp is: 26123
Cpu3's Freq is: 715000
Cpu4's Temp is: 60000
Cpu4's Freq is: 1846000
Cpu5's Temp is: 1
Cpu5 is OFF
Cpu6's Temp is: 29000
Cpu6 is OFF
Cpu7's Temp is: 32000
Cpu7 is OFF
Cpu8's Temp is: 31300
Cpu8 is OFF
Cpu9's Temp is: 34300
Cpu9 is OFF
Cpu10's Temp is: 27700
/system/bin/cpu_stat.sh[19]: cat: /sys/devices/system/cpu/cpu10/online: No such file or directory
/system/bin/cpu_stat.sh[19]: [: 1: unexpected operator/operand
Cpu10 is OFF
#####################################
可以看到cpu0~4处于online态,后边都是offline态,通过一个设置状态的脚本把后边五个开启:
cpuset.sh如下:
#!/system/bin/sh
echo "================cpu set=================="
# 0~3 max:1391000
# 4~7 max:1846000
# 8~9 max:2314000
for i in `seq 10`
do
((i=$i-1))
# ((j=$i+4))
echo "performance" > /sys/devices/system/cpu/cpu$i/cpufreq/scaling_governor
if [ $i -ge "4" ] && [ $i -le "7" ]; then
echo "1846000" > /sys/devices/system/cpu/cpu$i/cpufreq/scaling_setspeed
echo "1" > /sys/devices/system/cpu/cpu$i/online
elif [ $i -le "3" ]; then
echo "1391000" > /sys/devices/system/cpu/cpu$i/cpufreq/scaling_setspeed
else
echo "2314000" > /sys/devices/system/cpu/cpu$i/cpufreq/scaling_setspeed
echo "1" > /sys/devices/system/cpu/cpu$i/online
fi
done
echo "================set finish================"
执行完成之后,再用第一个脚本查看结果:
root@aeon6797_6c_m:/ # cpu_stat.sh
#####################################
Cpu0's Temp is: 30000
Cpu0's Freq is: 1391000
Cpu1's Temp is: 35600
Cpu1's Freq is: 1391000
Cpu2's Temp is: -127000
Cpu2's Freq is: 1391000
Cpu3's Temp is: 28626
Cpu3's Freq is: 1391000
Cpu4's Temp is: 60000
Cpu4's Freq is: 1846000
Cpu5's Temp is: 2
Cpu5's Freq is: 1846000
Cpu6's Temp is: 0
Cpu6's Freq is: 1846000
Cpu7's Temp is: 15000
Cpu7's Freq is: 1846000
Cpu8's Temp is: 42500
Cpu8's Freq is: 2314000
Cpu9's Temp is: 38000
Cpu9's Freq is: 2314000
Cpu10's Temp is: 30300
/system/bin/cpu_stat.sh[19]: cat: /sys/devices/system/cpu/cpu10/online: No such file or directory
/system/bin/cpu_stat.sh[19]: [: 1: unexpected operator/operand
Cpu10 is OFF
#####################################
可以看到cpu很雄壮的开始跑了。
GPU 频率控制相关部分稍后奉上。。。
软件平台:Android 6.0
今日在调整系统跑分性能,我们的板子用的MT6797,板子起来之后,通过adb命令行,查看cpu的状态,因为是十核,因此写了一个精悍的小脚本获取各cpu状态:
#!/system/bin/sh
#echo "1" > /sys/devices/system/cpu/cpu6/online
#cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
#echo "1391000" > /sys/devices/system/cpu/cpu6/cpufreq/scaling_setspeed
CPU_PATH=/sys/class/thermal
CPU_FREQ_BASE=/sys/devices/system/cpu
echo "#####################################"
for i in `seq 11`
do
((i=$i-1))
echo "Cpu$i's Temp is: `cat $CPU_PATH/thermal_zone$i/temp`"
online=`cat $CPU_FREQ_BASE/cpu$i/online`
if [ $online = "1" ];then
echo "Cpu$i's Freq is: `cat $CPU_FREQ_BASE/cpu$i/cpufreq/scaling_cur_freq`"
else
echo "Cpu$i is OFF"
fi
echo -e "\r"
done
echo "#####################################"
push到system/bin目录,运行结果如下:
root@aeon6797_6c_m:/ # cpu_stat.sh
#####################################
Cpu0's Temp is: 30000
Cpu0's Freq is: 715000
Cpu1's Temp is: 32500
Cpu1's Freq is: 715000
Cpu2's Temp is: -127000
Cpu2's Freq is: 715000
Cpu3's Temp is: 26123
Cpu3's Freq is: 715000
Cpu4's Temp is: 60000
Cpu4's Freq is: 1846000
Cpu5's Temp is: 1
Cpu5 is OFF
Cpu6's Temp is: 29000
Cpu6 is OFF
Cpu7's Temp is: 32000
Cpu7 is OFF
Cpu8's Temp is: 31300
Cpu8 is OFF
Cpu9's Temp is: 34300
Cpu9 is OFF
Cpu10's Temp is: 27700
/system/bin/cpu_stat.sh[19]: cat: /sys/devices/system/cpu/cpu10/online: No such file or directory
/system/bin/cpu_stat.sh[19]: [: 1: unexpected operator/operand
Cpu10 is OFF
#####################################
可以看到cpu0~4处于online态,后边都是offline态,通过一个设置状态的脚本把后边五个开启:
cpuset.sh如下:
#!/system/bin/sh
echo "================cpu set=================="
# 0~3 max:1391000
# 4~7 max:1846000
# 8~9 max:2314000
for i in `seq 10`
do
((i=$i-1))
# ((j=$i+4))
echo "performance" > /sys/devices/system/cpu/cpu$i/cpufreq/scaling_governor
if [ $i -ge "4" ] && [ $i -le "7" ]; then
echo "1846000" > /sys/devices/system/cpu/cpu$i/cpufreq/scaling_setspeed
echo "1" > /sys/devices/system/cpu/cpu$i/online
elif [ $i -le "3" ]; then
echo "1391000" > /sys/devices/system/cpu/cpu$i/cpufreq/scaling_setspeed
else
echo "2314000" > /sys/devices/system/cpu/cpu$i/cpufreq/scaling_setspeed
echo "1" > /sys/devices/system/cpu/cpu$i/online
fi
done
echo "================set finish================"
执行完成之后,再用第一个脚本查看结果:
root@aeon6797_6c_m:/ # cpu_stat.sh
#####################################
Cpu0's Temp is: 30000
Cpu0's Freq is: 1391000
Cpu1's Temp is: 35600
Cpu1's Freq is: 1391000
Cpu2's Temp is: -127000
Cpu2's Freq is: 1391000
Cpu3's Temp is: 28626
Cpu3's Freq is: 1391000
Cpu4's Temp is: 60000
Cpu4's Freq is: 1846000
Cpu5's Temp is: 2
Cpu5's Freq is: 1846000
Cpu6's Temp is: 0
Cpu6's Freq is: 1846000
Cpu7's Temp is: 15000
Cpu7's Freq is: 1846000
Cpu8's Temp is: 42500
Cpu8's Freq is: 2314000
Cpu9's Temp is: 38000
Cpu9's Freq is: 2314000
Cpu10's Temp is: 30300
/system/bin/cpu_stat.sh[19]: cat: /sys/devices/system/cpu/cpu10/online: No such file or directory
/system/bin/cpu_stat.sh[19]: [: 1: unexpected operator/operand
Cpu10 is OFF
#####################################
可以看到cpu很雄壮的开始跑了。
GPU 频率控制相关部分稍后奉上。。。
相关文章推荐
- Nging利用多核cpu提高性能_配置参数worker_cpu_affinity
- Android 系统性能优化(12)---MTK 平台UX性能分析方法
- Windows系统CPU内存网络性能统计第三篇 CPU 多核CPU各核使用率C#
- KAOII 系统性能提升的始末之(一)spring 配置 proxool 数据源
- 小米跑分不仅仅是配置,跑的是CPU性能+GPU性能等综合性能
- Windows系统CPU内存网络性能统计第四篇 CPU 多核CPU各核使用率C++
- MTK平台CPU/GPU动态调频的实现之PerfService的源码分析
- paip.提升性能---mysql 优化cpu多核以及lan性能的关系.
- 使用cpufreq-bench评估cpufreq策略对系统性能的影响
- paip.提升性能---mysql 优化cpu多核以及lan性能的关系.
- 系统加速精灵:全面提升CPU性能,让你的系统跑的更快!
- paip.提升性能--多核cpu中的java/.net/php/c++编程
- 通过配置CPU参数 worker_cpu_affinity 提升nginx性能
- 让CPU和GPU密切协作共同提升性能
- 通过配置CPU参数 worker_cpu_affinity 提升nginx性能
- paip.提升性能--多核cpu中的java/.net/php/c++编程
- Kivy A to Z -- 通过绑定进程运行CPU提高Python程序在多核CPU平台上的性能
- Windows系统CPU内存网络性能统计第四篇 CPU 多核CPU各核使用率C++
- MTK平台CPU/GPU动态调频的实现之PerfService的源码分析
- 通过配置worker_cpu_affinity参数提升nginx性能