本讲是android camera native framework专题的第4讲,我们介绍cameraserver.rc详解(下),包括如下内容:
- android init语言简介
- cameraserver.rc详解
- service
- user选项
- group选项
- ioprio选项
- task_profiles选项
- rlimit选项
更多资源:
资源 | 描述 |
---|---|
在线课程 | |
知识星球 | 星球名称:深入浅出android camera 星球id: 17296815 |
极客笔记圈 |
ioprio选项
通过ioprioset系统调用,为该服务设置io优先级类别和io优先级
语法
ioprio
- class: 只能为“rt”, “be”, 或 “idle”
- priority:从0到7
task_profiles选项
配置cgroup(control groups)。这是为了取代使用writepid选项将一个进程移入一个cgroup。
cgroup是用来限制、控制与分离一个进程组的资源(如cpu、内存、磁盘、输入输出等)。
语法
task_profiles [ * ]
在手机里面可以查看相关json文件查看有哪些task profiles
- /system/etc/task_profiles.json
- /vendor/etc/task_profiles.json
实战:cameraserver.rc
- cameraservicecapacity: /dev/cpuset/camera-daemon,控制可以使用哪些cpu
-
maxperformance:/dev/cpuctl/top-app,控制uclamp等信息
- 通过将cpu.uclamp.min设置为一个较大值,使得一个task看起来像一个“大”任务,使cpu运行在高性能状态,加速任务的处理(尽量往频率高的cpu上调度),提升系统的性能表现;
- 对于一些后台任务,通过将cpu.uclamp.max设置为较小值,使其看起来像一个“小”任务,使cpu运行在高能效状态,以节省系统的功耗。
- cpu.uclamp.min/cpu.uclamp.max 取值范围 0.00 – 100.00,格式为两位小数精度的百分比值,比如设置echo 40 > min 就表示clamp min为 40% * 1024 = 409.6
rlimit选项
rlimit(resource limit)用于指定资源限制,作用同setrlimit api。
语法
rlimit
常见 resource如下表