(Android) Low Memory Killer


Android Low Memory Killer

Android 2.3.4

Android 的Low memory killer是基于linux的OOM(out of memory)规则改进而来的。

Low Memory Killer follows two rules:

•   The importance of processes

•   Memory each process occupies

The importance of processes depends on the value ofoom_adj of each process. oom_adj is defined in “\system\core\rootdir\init.rc”and ActivityManagerService.java.

 

oom_adj in \system\core\rootdir\init.rc

 
# Define the oom_adj values for the classes of processes that can killed by the kernel.  These are used in ActivityManagerService.
    setprop ro.FOREGROUND_APP_ADJ 0
    setprop ro.VISIBLE_APP_ADJ 1
    setprop ro.PERCEPTIBLE_APP_ADJ 2
    setprop ro.HEAVY_WEIGHT_APP_ADJ 3
    setprop ro.SECONDARY_SERVER_ADJ 4
    setprop ro.BACKUP_APP_ADJ 5
    setprop ro.HOME_APP_ADJ 6
    setprop ro.HIDDEN_APP_MIN_ADJ 7
    setprop ro.EMPTY_APP_ADJ 15
 
ActivityManagerService.java (/frameworks/base/services/com/android/server/am/)
 
 static final int EMPTY_APP_ADJ;
 static final int HIDDEN_APP_MAX_ADJ;
 static final int HIDDEN_APP_MIN_ADJ;
 static final int HOME_APP_ADJ;
 static final int BACKUP_APP_ADJ;
 static final int SECONDARY_SERVER_ADJ;
 static final int HEAVY_WEIGHT_APP_ADJ;
 static final int PERCEPTIBLE_APP_ADJ;
 static final int VISIBLE_APP_ADJ;
 static final int FOREGROUND_APP_ADJ;
 static final int CORE_SERVER_ADJ = -12;
 static final int SYSTEM_ADJ = -16; 
 
Command “dumpsys activity” to show oom_adj for each activity, not including monkey process.
 
Running processes (most recent first):
Proc # 0: adj=fore /F 4065fd80 244:android.process.media/10000 (top-activity)
Proc # 1: adj=bak  /B 406444a8 356:com.android.customlocale/10014 (bg-activities)
Proc # 2: adj=vis  /F 405ac430 116:jp.co.omronsoft.openwnn/10004 (service)
               jp.co.omronsoft.openwnn/.OpenWnnJAJP<=Proc{405a8a28 61:system/1000}
PERS # 3: adj=sys  /F 405a8a28 61:system/1000 (fixed)
Proc # 4: adj=bak+1/B 40736650 291:com.android.email/10028 (bg-activities)
Proc # 5: adj=bak+2/B 406c7d00 333:com.android.test/10034 (bg-activities)
Proc # 6: adj=home /B 406664d0 134:com.android.launcher/10013 (home)
Proc # 7: adj=bak+3/B 40668408 236:com.android.quicksearchbox/10002 (bg-empty)
Proc # 8: adj=bak+4/B 407853a0 313:com.svox.pico/10009 (bg-empty)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值