基于Android的车载操作系统 目录
一,Vmpressure监视器工作原理概览
二,Vmpressure
由于 vmpressure
信号会存在大量误报,因此 lmkd
必须执行过滤以确定是否真的存在内存压力,会导致不必要的 lmkd
唤醒并使用额外更多的的系统资源。使用 PSI 监视器可以实现更精确的内存压力检测,并最大限度地减少过滤开销。PSI统计数据为即将发生的资源短缺提供了预警功能,因而实现更主动、更细致、更准确的响应。因此,Google在Android10的版本为引入lmkd通过内核的PSI来监控内存压力。但当前的android为了对旧版本的支持,依然保留了vmpressure策略。
我们知道vmpressure的核心就是memcg,memcg是用户态访问内核cgroup的memory子系统的接口。也就是监听全局memcg的内存(非某个cgroup控制组)来了解系统当前的压力情况。
在memcg的memory pressure中,用户态可以使用压力