登录|使用QQ帐号登录
论坛 > 各类教程
发帖|
看5871|回1|收藏
小樱 看全部
2017/2/18 16:15
转+小幅修改: 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调度器,可以更省电

代码:

  1. #!/system/bin/sh
  2. echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
  3. echo "ondemand" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor
  4. 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)
(下载次数: 762, 2017/2/21 17:59 上传)


注:最新4月7.0的4C开发版,已经非常省电了,不需要这些操作。
小樱 看全部
2017/2/21 17:50
提高性能可以改hispeed_freq参数

784行是小核心最大频率 1248000改成1440000
        echo 1248000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq

786行小核心触发负载自动缓慢提示频率改成80
        echo 65 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads

799行大核心改成90触发高速hispeed_freq
        echo 80 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load

801行大核心最大频率 改成1824000
        echo 1248000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq

IT技术交流论坛

Powered by itzmx!

首页|标准版|触屏版|电脑版