美文网首页Android开发Android学习
查看手机内存阈值及进程的oom_adj值

查看手机内存阈值及进程的oom_adj值

作者: elva_2e24 | 来源:发表于2017-11-14 11:03 被阅读1023次

查看手机的内存阈值:

adb shell

su

chmod 777 /sys/module/lowmemorykiller/parameters/minfree

cat /sys/module/lowmemorykiller/parameters/minfree

得到的数值为:18432,23040,27648,32256,36864,46080

这6个数值分别代表android系统回收6种进程的阈值,这么看不方便查看,转换为M会更直观,这6个数值的单位为page 1page = 4K,所以通过 数值*4/1024就能转换为M:72M,90M,108M,126M,144M,180M

也就是说1.前台进程(foreground),2.可见进程(visible),3.次要服务(secondary server),4.后台进程(hidden),5.内容供应节点(content provider),6.空进程(empty)这6类进程进行回收的内存阈值分别为72M,90M,108M,126M,144M,180M

http://blog.csdn.net/robertcpp/article/details/51628639这篇文章介绍的这6类进程优先级及分类比较详细。

当内存到180M的时候会将空进程进行回收,当内存到144M的时候把空进程回收完以后开始对内容供应节点进行回收,并不是所有的内容供应节点都回收,而是通过判断它的优先级进行回收,优先级是用oom_adj的值来表示,值越大回收的几率越高

ps|grep 包名 来得到进程的id

通过进程id可以查看oom_adj的值:cat /proc/进程id/oom_adj

看到adj值是0,0就代表这个进程是属于前台进程,我们按下Back键,将应用至于后台,再次查看值为9,如果按home键值为8,不同的手机可能值不太一样。

adj级别值解释(摘自:http://blog.csdn.net/u013263323/article/details/56285475)

UNKNOWN_ADJ16预留的最低级别,一般对于缓存的进程才有可能设置成这个级别

CACHED_APP_MAX_ADJ15缓存进程,空进程,在内存不足的情况下就会优先被kill

CACHED_APP_MIN_ADJ9缓存进程,也就是空进程

SERVICE_B_ADJ8不活跃的进程

PREVIOUS_APP_ADJ7切换进程

HOME_APP_ADJ6与Home交互的进程

SERVICE_ADJ5有Service的进程

HEAVY_WEIGHT_APP_ADJ4高权重进程

BACKUP_APP_ADJ3正在备份的进程

PERCEPTIBLE_APP_ADJ2可感知的进程,比如那种播放音乐

VISIBLE_APP_ADJ1可见进程

FOREGROUND_APP_ADJ0前台进程

PERSISTENT_SERVICE_ADJ-11重要进程

PERSISTENT_PROC_ADJ-12核心进程

SYSTEM_ADJ-16系统进程

NATIVE_ADJ-17系统起的Native进程

备注:(上表的数字可能在不同系统会有一定的出入)

相关文章

  • 查看手机内存阈值及进程的oom_adj值

    查看手机的内存阈值: adb shell su chmod 777 /sys/module/lowmemoryki...

  • Android进程保活

    如何杀死进程--Low Memory Killer 内存阈值在不同的手机上不一样,一旦低于该值就会杀死空进程。 系...

  • 如何查看oom_adj级别

    adb shellps|grep 查看基本信息 cat /proc/<进程id>/oom_adj

  • lowmemorykiller内核回收机制注册、回调

    LMK 分为三个进程 AMS 中设置lmk的6个内存阈值,以及更新每个进程/线程的adj值applyOomAdjL...

  • linux pmap命令

    查看进程123占用内存情况 查看进程123占用内存情况--详细 查看进程123占用内存情况--更详细

  • 301-服务器运维命令

    查看进程,按内存从大到小 查看进程,按CPU利用率从大到小排序 查看php进程占用的内存 查看剩余内存 查看磁盘占...

  • 进程和计划任务详解(一)

    学习内容: 1、进程相关知识(用户空间、内核空间、进程创建、进程优先级、进程内存)2、Linux进程查看及管理工具...

  • 内存占用

    top 查看内存占用PID:进程的IDUSER:进程所有者PR:进程的优先级别,越小越优先被执行NInice:值V...

  • LINUX查看进程的4种方法

    进程是什么 进程是在 CPU 及内存中运行的程序代码,而每个进程可以创建一个或多个进程(父子进程)。 查看进程 第...

  • Centos 查看系统状态

    查看监听的端口 检查端口被哪个进程占用 查看进程的详细信息 查看所有进程 查看内存情况 查看系统日志

网友评论

    本文标题:查看手机内存阈值及进程的oom_adj值

    本文链接:https://www.haomeiwen.com/subject/amexvxtx.html