成长值: 246 签到天数: 4707 天
[LV.Master]伴坛终老
发表于 2017/2/18 16:15
|
显示全部楼层
| 阅读模式
| Google Chrome 56.0.2924.87
| Windows 8.1
转+小幅修改: http://www.miui.com/thread-3935476-1-1.html
通过研究发现可以通过修改/system/etc/init.qcom.post_boot.sh实现。现在共享出来仅供大家研究。没有经过严格测试,具体有什么效果不清楚,有兴趣的可以试一下!!!
1. 两个大核不用的时候都离线
将文件中 第838行 echo 2 > /sys/devices/system/cpu/cpu4/core_ctl/min_cpus
改为 echo 0 > /sys/devices/system/cpu/cpu4/core_ctl/min_cpus
839行改成70
840行改成30
841行,扫描时间,默认0.1秒改成1秒
echo 100 > /sys/devices/system/cpu/cpu4/core_ctl/offline_delay_ms
改为echo 1000 > /sys/devices/system/cpu/cpu4/core_ctl/offline_delay_ms
最尾巴加入ondemand调度器,可以更省电
#!/system/bin/sh
echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo "ondemand" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor
echo "simple_ondemand" > /sys/devices/soc.0/fdb00000.qcom,kgsl-3d0/devfreq/fdb00000.qcom,kgsl-3d0/governor 复制代码
重启后生效,但是休眠后就失效了,再重启一次又生效。可能还有程序在修改min_cpus这个文件的值。
再将文件中第858行和859行去掉,或者加#号注释,就是下面这两行
chown -h system /sys/devices/system/cpu/cpu4/core_ctl/min_cpus
chown -h system /sys/devices/system/cpu/cpu4/core_ctl/max_cpus
这样休眠就不会被改回去了,暂时没发现什么问题。
2. 让4个小核不用的时候离线,至少保持1个核心在线(小核心费电少,但是性能低,四个1440全开的核心还不如一个1280的大核心效率,可以不用操作,下方共享的文件也没有修改)
在文件中837行后加上
echo 4 > /sys/devices/system/cpu/cpu0/core_ctl/max_cpus
echo 1 > /sys/devices/system/cpu/cpu0/core_ctl/min_cpus
echo 70 > /sys/devices/system/cpu/cpu0/core_ctl/busy_up_thres
echo 30 > /sys/devices/system/cpu/cpu0/core_ctl/busy_down_thres
echo 1000 > /sys/devices/system/cpu/cpu0/core_ctl/offline_delay_ms
重启后生效。
所修改的东西我猜测含义如下,不一定准确。
busy_up_thres : 核心离线的门限值,就是超过这个值就离线。
busy_down_thres :核心离线的门限制,低于这个值就离线。
offline_delay_ms:核心离线前的延迟时间,单位毫秒。
init.qcom.post_boot.sh修改与源文件备份.7z
(6.35 KB, 下载次数: 485)