android 低内存管理机制

android低内存管理的宗旨是:对于使用物理内存最多,并且重要性最小的进程进行kill操作,以达到内存优化的目的。
具体实现过程是:
1 首先在/sys/module/lowmemorykiller/parameters/adj指定lowmen_adj数组,lowmen_adj定义了各个阶段的adj临界值,该值越大,说明重要性越小;一样在/sys/module/lowmemorykiller/parameters/minfree里指定lowmen_minfree数组,该数组定义了空闲内存的大小临界值,该值越小,则说明空闲内存越少,占用的物理内存越多,因而对应该进程月可能被kill掉。

2 得到最小的oom_adj值,如果oom_adj等于初始化的值,等于没有变,则说明没有需要kill的进程,否则对于每个进程进行判断,如果该进程的oom_adj小于临界值,则说明其要重要些,则不杀该进程;如果oom_adj恰好等于临界值,则判断该进程的任务数,如果大于上次选中的进程的任务数,则该进程更应该被kill掉,依次比较下去,最后得到最不重要的进程,并给该进程发送kill signal,杀掉该进程。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值