1. lowmemkiller中会涉及到几个重要的概念:

/sys/module/lowmemorykiller/parameters/minfree:里面是以”,”分割的一组数,每个数字代表一个内存级别
/sys/module/lowmemorykiller/parameters/adj:对应上面的一组数,每个数组代表一个进程优先级级别
举个例子:
/sys/module/lowmemorykiller/parameters/minfree:18432,23040,27648,32256,55296,80640
/sys/module/lowmemorykiller/parameters/adj:0,100,200,300,900,906

minfree的单位是4K
代表的意思:两组数一一对应,当手机内存低于80640时,就去杀掉优先级906以及以上级别的进程,当内存低于55296时,就去杀掉优先级900以及以上的进程。

对每个进程来说:
/proc/pid/oom_adj:代表当前进程的优先级,这个优先级是kernel中的优先级,这个优先级与上层的优先级之间有一个换算,文章最后会提一下。
/proc/pid/oom_score_adj:上层优先级,跟ProcessList中的优先级对应

2. 上层对lowmemorykiller的设置
主要有2条路径:

  • 通过系统启动到一定的阶段,通过shell去设置

device\qcom\common\rootdir\etc\init.qcom.post_boot.sh

  • 通过APP层’ProcessList.java -> lmkd 的方式动态设置

Android lowmemorykiller分析相关推荐

  1. Android 系统性能优化(40)---Android LowMemoryKiller原理分析

    frameworks/base/services/core/java/com/android/server/am/ProcessList.java platform/system/core/lmkd/ ...

  2. Android LowmemoryKiller机制

    为什么引入LowmemoryKiller? 进程的启动分冷启动和热启动,当用户退出某一个进程的时候,并不会真正的将进程退出,而是将这个进程放到后台,以便下次启动的时候可以马上启动起来,这个过程名为热启 ...

  3. android逆向分析概述_Android存储概述

    android逆向分析概述 Storage is this thing we are all aware of, but always take for granted. Not long ago, ...

  4. Android JNI入门第五篇——Android.mk分析

    转载请标明出处: http://blog.csdn.net/michael1112/article/details/56671708 江东橘子的博客 Android.mk文件是在使用NDK编译C代码时 ...

  5. Android多线程分析之二:Thread的实现

    Android多线程分析之二:Thread的实现 罗朝辉 (http://www.cnblogs.com/kesalin/) CC 许可,转载请注明出处 在前文<Android多线程分析之一:使 ...

  6. Android内存分析和调优(上)

    Android内存分析和调优(上) Android内存分析和调优(上) Android内存分析工具(四):adb命令 posted on 2017-09-25 19:29 时空观察者9号 阅读(... ...

  7. Android Telephony分析(七) ---- 接口扩展(异步转同步)

    本文是基于上一篇<Android Telephony分析(六) -- 接口扩展(实践篇)>来写的.  上一篇介绍的接口扩展的方法需要实现两部分代码:  1. 从APP至RIL,发送请求:  ...

  8. Android Telephony分析(六) ---- 接口扩展(实践篇)

    本文将结合前面五篇文章所讲解的知识,综合起来,实现一个接口扩展的功能.  如果还没有阅读过前面五篇文章的内容,请先阅读:  <Android Telephony分析(一) - Phone详解 & ...

  9. Android Telephony分析(五) ---- TelephonyRegistry详解

    本文紧接着上一篇文章<Android Telephony分析(四) -- TelephonyManager详解 >的1.4小节.  从TelephonyRegistry的大部分方法中:  ...

  10. Android Telephony分析(三) ---- RILJ详解

    前言 本文主要讲解RILJ工作原理,以便更好地分析代码,分析业务的流程.  这里说的RILJ指的是RIL.java (frameworks\opt\telephony\src\java\com\And ...

最新文章

  1. Use MVS Dsbame convensions. windows下ftp.exe客户端上传错误
  2. 005-Python之列表,元组,字符串,bytes及bytearray共有操作
  3. servlet.xml 出现 Referenced file contains errors(http://.......)
  4. jdk中一些常见命令
  5. 如何查看ddos 放开的ip
  6. java neo4j_java连接neo4j
  7. 机器学习常见基本概念笔记
  8. 摈弃 Windows 低效率的工作方式,发掘 Linux 身上的 UNIX 气质
  9. 阿里云HBase发布冷存储特性,助你不改代码,1/3成本轻松搞定冷数据处理
  10. 最优食品处方:14种改变你一生的食品
  11. JVM调优思路、订单秒杀jvm调优案例
  12. c语言实现一个编译器生成语法树,运用JavaScript构造C语言子集的编译器
  13. null object java_java1.8--Null Object模式
  14. 我的Qt作品(12)使用Qt+OpenCV实现一个带旋转角度的Shape形状匹配演示软件
  15. 写博客的第二天——来个水题,17倍
  16. curl 命令详解(超详细)
  17. 2/28 A - 化学 (编译器选 GNU G++)
  18. CSR8670蓝牙模块BQB认证经验总结
  19. 主力资金是股价的风向标
  20. 基于java Web停车场管理系统源码和论文

热门文章

  1. Spring No mapping found for HTTP request with URI错误
  2. CCF 201412-4 最优灌溉
  3. java课程设计(总结)
  4. 【169天】黑马程序员27天视频学习笔记【Day08-上】
  5. 如何交叉编译 linux kernel 内核
  6. 《智能家居产品 从设计到运营》——2.2 智能设备的触角:传感器
  7. apache-common-pool2(配置参数详解,以及资源回收,从池中获取资源,将资源返还给池...
  8. Android图片压缩
  9. 集成Android SlidingMenu(SlideMenu)
  10. 应用HTK搭建语音拨号系统2:创建单音素HMM模型