Android/Linux EAS优化-Cpuset

1. Cpuset介绍:

cgroup的cpusets文档参见这里:ocumentation/cgroup-v1/cpusets.txt

在多CPU或者多核CPU的情况下,cpusets限制了进程使用的CPU范围。如果你仔细看了前面 /init.rc 中的配置,你就会发现,那里对cpuset做了一些具体的分组,包括:

  • foreground
  • background
  • top-app
  • system-background
  • restricted

很明显的,这里是在对进程的类型做分类。有了这个分类的基础框架,其他地方就可以将进程放入对应的分类组中,这样就达到的资源合理分配和限制的目的。而这也正是使用cgroup的原因。cpuset是Linux cgroup子系统,它为cgroup任务分配单独的Cpu和内存, 单独分配CPU即表明进程可调度CPU范围。cpu按不同的芯片,大小核数目和频率都有差别,大核频率处理速度相对比小核快,因此Android AMS对进程管理于不同优先级的进程在调度CPU限制上会做一些策略,以保证更好的交互响应。

2. cpuset用途:

cpuset用来将进程绑定到指定的CPU上,用于修改task的cpu核亲和度

  • cpus对应内核亲和度,必须是连续的,比如0-3,2-6
  • cpu_exclusive对应是否核独占,如果设置代表tasks将独占cpus对应的cpu核,一般都是关闭

不同的cgroup代表什么

cgroup含义
top-app处于顶层的应用, 小窗应用等
system-background处于后台的系统进程
foreground可以被用户感知的非顶层应用, 如: 正在播放音乐的应用
restrictedforeground的子进程
background处于后台的用户进程
audio-app处理音频流的系统服务

配置比对://Pixel 4 和 CAF 参数对比

cgroupPixel 4CAF
top-app0-70-7
system-background0-30-3
restricted0-30-3
foreground0-3,5-60-2,4-7
background0-10-2
audio-appUNKNOWN1-2
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

村里小码农

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值