LMKD九 lmkd进程查杀规则 --- 更新中
Posted 高桐@BILL
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LMKD九 lmkd进程查杀规则 --- 更新中相关的知识,希望对你有一定的参考价值。
一,Vmpressure
Vmpressure Monitor,通过Epoll将监听的memory.pressure_level(这里的eventfd建立三个fd,分别监听三个内存压力等级)和对应的level写入到cgroup.event_contro来监听vmpressure事件。当有事件上报时会去遍历三个fd拿到当前最高的level,作为系统最终的内存压力level。随后在mp_event_common函数中通过对应压力设置的对应的adj值(low即ro.lmk.low的属性值;medium即ro.lmk.medium的属性值,而criticl即ro.lmk.critical的属性值)来作为查杀的adj,随后通过解析zoneinfo和meminfo来再一次过滤是否处理当前的压力事件。比如通过计算类似于swappinness的比值来决定当前的内存压力是否需要处理。
/system/memory/lmkd/lmkd.cpp
3101 static bool init_monitors()
......
3106 if (!use_psi_monitors &&
3107 (!init_mp_common(VMPRESS_LEVEL_LOW) ||
3108 !init_mp_common(VMPRESS_LEVEL_MEDIUM) ||
3109 !init_mp_common(VMPRESS_LEVEL_CRITICAL)))
.....
3119
二,PSI
PSI Monitor通过epoll监听/proc/pressure/memory上报的压力事件当有内存压力事件上报后,会通过处理事件为mp_event_common(
以上是关于LMKD九 lmkd进程查杀规则 --- 更新中的主要内容,如果未能解决你的问题,请参考以下文章
IVI15.1.1 系统稳定性优化篇(LMKD Ⅰ)Android低内存查杀守护进程(Android12)
IVI15.1.3 系统稳定性优化篇(LMKD Ⅲ)LMKD的设计原则
IVI15.1.7 系统稳定性优化篇(LMKD 七)AMS与LMKD