【LMKD】六 Vmpressure监视器初始化及其工作原理

本文介绍了基于Android的车载操作系统中Vmpressure监视器的工作原理,包括如何利用PSI进行内存压力检测,以及Vmpressure的核心——memcg。在内核中,通过scanned/reclaimed比值计算内存压力,分为low、medium和critical三个等级。当达到medium和critical级别时,系统会执行相应的内存管理策略,如释放内存或触发OOM Killer。文章还概述了代码架构,包括init_mp_common()和mp_event_common()函数的角色。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基于Android的车载操作系统 目录

一,Vmpressure监视器工作原理概览

二,Vmpressure

由于 vmpressure 信号会存在大量误报,因此 lmkd 必须执行过滤以确定是否真的存在内存压力,会导致不必要的 lmkd 唤醒并使用额外更多的的系统资源。使用 PSI 监视器可以实现更精确的内存压力检测,并最大限度地减少过滤开销。PSI统计数据为即将发生的资源短缺提供了预警功能,因而实现更主动、更细致、更准确的响应。因此,Google在Android10的版本为引入lmkd通过内核的PSI来监控内存压力。但当前的android为了对旧版本的支持,依然保留了vmpressure策略。

我们知道vmpressure的核心就是memcg,memcg是用户态访问内核cgroup的memory子系统的接口。也就是监听全局memcg的内存(非某个cgroup控制组)来了解系统当前的压力情况。

在memcg的memory pressure中,用户态可以使用压力

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

高桐@BILL

分享快乐,快乐分享...

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值