文章目录
- Android系统性能优化:LMKD核心参数配置详解——从minfree水位线到PSI stall阈值的调优实战
-
- 导入语
- 1 ~> LMK 参数从哪来:两套属性体系的演进
-
- 1.1 Android 9~10:sys.lmk.* 与 ProcessList.java
- 1.2 Android 11 及以后:ro.vendor.lmk.* 接棒
- 1.3 查看当前设备的所有 LMK 参数
- 2 ~> 第一类:进程状态与调试参数
-
- 2.1 init.svc.lmkd——先看进程活着没
- 2.2 persist.sys.lmk.reportkills——让每次杀进程都留痕
- 2.3 调试组合拳
- 3 ~> 第二类:回收触发阈值——水位线参数
-
- 3.1 ro.vendor.lmk.low.memfree 与 min.memfree
- 3.2 页数怎么换算成 MB
- 3.3 ro.lmk.filecache_min_kb——文件缓存的保底
- 4 ~> 第三类:PSI 决策参数
-
- 4.1 ro.lmk.psi_complete_stall_ms——完全停滞的容忍度
- 4.2 ro.lmk.stall_limit_critical——严重压力的分界线
- 4.3 ro.lmk.swap_compression_ratio——ZRAM 压缩率参考
- 4.4 PSI 参数族速查
- 5 ~> 第四类:回收策略参数——杀谁、怎么杀
-
- 5.1 kill_heaviest_task_enabled——杀最重的还是最闲的
- 5.2 ro.lmk.kill_timeout_ms——杀完等多久
- 5.3 一次回收决策中各参数的分工
- 6 ~> 实战:读取、修改、验证的完整流程
-
- 6.1 调参前的三件事
- 6.2 修改与验证
- 6.3 调参避坑指南
- 思考 && 总结
- 结尾
Android系统性能优化:LMKD核心参数配置详解——从minfree水位线到PSI stall阈值的调优实战
📖 文章简介: 本文系统讲解Android低内存回收机制中LMKD守护进程的核心配置参数。文章从属性体系的版本演进切入——Android 9~10通过ProcessList.java读取sys.lmk.minfree等属性做动态调整,Android 11及之后切换为ro.vendor.lmk.minfree、ro.vendor.lmk.adj等厂商属性,然后按\”进程状态与调试、回收触发阈值、PSI决策、回收策略\”四个维度逐条拆解真实设备上的高频参数:init.svc.lmkd进程状态、persist.sys.lmk.reportkills日志开关、ro.vendor.lmk.low.memfree与min.memfree水位线(含页到MB的换算)、ro.lmk.psi_complete_stall_ms完全停滞阈值、ro.lmk.kill_timeout_ms回收超时、ro.vendor.lmk.kill_heaviest_task_enabled杀进程策略选择等。附有参数分类速查表、页数换算方法、getprop读取与setprop验证的完整实战命令,适合从事Android内存管理和系统稳定性优化的工程师阅读参考。
网硕互联帮助中心






评论前必须登录!
注册