• 【IVI】15.1.1 系统稳定性优化篇(LMKD)Android低内存查杀守护进程(Android12)


    写在前面

    参考:AOSP/system/memory/lmkd/README.md

     ≥ Android10

    lmkd可用于监控运行中的Android系统的内存状态,并根据优先级杀掉相对来说最不重要的进程(the least essential process)以释放一定的内存,确保系统稳健运行。

    再过去,Android使用内核级的lmk来监控内存压力,该内核级lmkd驱动是一种依赖硬编码值的严格机制。从内核4.12开始,LMK驱动程序改由用户空间的lmdk来执行系统内存监控和进程的查杀。

    一、PSI 压力时速信息

    PSI(Pressure Stall Information)压力失速信息。

    Android10+以后的lmkd通过内核的PSI来监控内存压力。

    PSI统计数据为即将发生的资源短缺提供了预警功能,因而实现更主动、更细致、更准确的响应。当然PSI统计数据不仅包含了Memory,它同时涵盖了Memory、CPU、IO三大资源的pressure指标,来帮助工程师们及时管控系统资源短缺的情况。

    1.1 PSI使能

    如果需要使能PIS,则需要配置ro.lmk.use_psi为true,默认为true。及lmk会以PSI作为默认机制(除此之外还有vmpressure机制)。因为PSI需要内核支持,因此需要在编译内核时配置CONFIG_PSI=y。

    二,LMKD机制介绍(用户空间)

    用户空间 lmkd 与内核中的功能相似,它默认使用压力失速信息 (PSI) 监视器来获取关于内存压力水平的通知,以及使用内存 cgroup 功能限制根据进程的重要性分配给

  • 相关阅读:
    1.摄像机几何
    【LeetCode每日一题】——404.左叶子之和
    Kafka集群搭建与SpringBoot项目集成
    【JVM篇】有哪些垃圾回收算法
    JVM之初识垃圾收集器
    Flutter iOS上架指南
    安装Ubuntu和Windows双系统
    研究生写脚本抢HPV九价疫苗:被采取强制措施,后果严重
    Linux之DNS域名解析服务
    业务可视化-让你的流程图"Run"起来(2.问题与改进)
  • 原文地址:https://blog.csdn.net/huangyabin001/article/details/125402057