📘 低内存杀进程·原理剖析 30章

⚡ Android LMK 完全指南
📌 从内核到框架 · 从原理到实战 🗂️ 点击章节跳转 → 对应 .html 文件
01
Android内存管理概述
为什么需要低内存杀进程?Android内存压力来源与分类。
02
LMK机制演进
从旧版LMK到新版LMKD,设计思路的变迁。
03
内核lmk驱动源码分析
关键数据结构与注册流程。
04
lmkd守护进程启动流程
init.rc配置与main函数解析。
05
lmkd关键数据结构
proc、slot、vmpressure等结构体详解。
06
vmpressure事件机制
内核通知与lmkd监听流程。
07
psi监控机制
Pressure Stall Information原理与使用。
08
lmkd工作流程
事件驱动模型与状态机设计。
09
oom_score_adj计算
进程优先级与adj值映射关系。
10
lmk策略配置
minfree、adj、soft_limit等参数详解。
11
进程选择算法
如何挑选“最该杀”的进程?
12
杀进程动作执行
signal发送与进程回收流程。
13
lmkd日志分析
如何通过log排查杀进程问题?
14
lmkd与ActivityManagerService的交互
AMS如何影响lmk决策?
15
lmkd与lowmemorykiller驱动的关系
用户态与内核态协作。
16
Android 10+新特性
lmkd对app freezer的支持。
17
lmkd性能优化
如何减少误杀与提升响应速度?
18
lmkd调试手段
dumpsys、procrank、cat /proc/meminfo等。
19
lmkd与cgroup的集成
内存资源隔离与控制。
20
lmkd与zram/swap的关系
交换空间对杀进程的影响。
21
lmkd与kswapd的协作
内核回收与用户态杀进程的平衡。
22
lmkd与memcg的深度结合
内存控制组在杀进程中的应用。
23
lmkd与lmkd_stats
统计信息与监控指标。
24
lmkd与lmkd_event
事件上报与框架层回调。
25
lmkd与lmkd_config
动态配置与热更新机制。
26
lmkd与lmkd_utils
工具函数与辅助模块。
27
lmkd与lmkd_test
单元测试与压力测试方法。
28
lmkd与lmkd_benchmark
性能基准测试与对比。
29
lmkd与lmkd_trace
tracepoint与systrace集成。
30
lmkd与lmkd_future
未来演进方向与社区动态。