lowmemory相关performance问题

lowmemory相关performance问题

(1)修改frameworks\base\services\core\java\com\android\server\am\ProcessList.java
static final int MAX_CACHED_APPS = 32; // 改为 static final int MAX_CACHED_APPS = 12;

(2)调整Low Memory Killer minifree门限值,frameworks\base\services\core\java\com\android\server\am\ProcessList.java中,
调整下面的mOomMinFreeHigh里面的后三项 ,分别增大1.1倍 1.2倍,1.5倍
// These are the high-end OOM level limits. This is appropriate for a
190 // 1280x800 or larger screen with around 1GB RAM. Values are in KB.
191 private final int[] mOomMinFreeHigh = new int[] {
192 73728, 92160, 110592,
193 129024, 147456, 184320
194 };

(3)ZRAM虽然省一些内存但是对performance也会有影响,1G的project建议开启,2G以上的项目可以考虑关闭。
ZRAM关闭方法:
修改:/device/mediatek/[project]/init.[project].rc

service enableswap /system/bin/sh /enableswap.sh
class core
oneshot
seclabel u:r:enableswap:s0
注释掉
#service enableswap /system/bin/sh /enableswap.sh
#oneshot
#seclabel u:r:enableswap:s0

(4)参考下面FAQ调整dirty_background_ratio、dirty_ratio,以往其他客户经验是减半:
FAQ13684 iowait问题成因及对策
可以在device/mediatek/mt6580/init.mt6580.rc增加是可以的,只要保证添加的位置能够执行到即可。
修改是否成功,可以在开机后进入adb shell,用下面命令查看:
root@android:/ # cat /proc/sys/vm/dirty_ratio
root@android:/ # cat /proc/sys/vm/dirty_background_ratio

(5)修改/frameworks/base/services/core/java/com/android/server/am/ProcessList.java中
long getCachedRestoreThresholdKb() {
return mCachedRestoreLevel; //将mCachedRestoreLevel 改为 mCachedRestoreLevel/2
}
这个修改目的,当 AMS 计算出系统 Memory 紧张时候,将超过这个 Size 的进程,ADJ>=9时, 就砍掉

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值