第4讲 cameraserver.rc详解(下) - Android Camera Native Framework

本讲是Android Camera Native Framework专题的第4讲,我们介绍cameraserver.rc详解(下),包括如下内容:

  1. Android init语言简介
  2. cameraserver.rc详解
    • service
    • user选项
    • group选项
    • ioprio选项
    • task_profiles选项
    • rlimit选项

视频在线观看:

加入知识星球与更多Camera同学交流
– 星球名称:深入浅出Android Camera
– 星球ID: 17296815
– Wechat: 极客笔记圈

ioprio选项

通过ioprioset系统调用,为该服务设置IO优先级类别和IO优先级

语法

ioprio <class> <priority>
  • Class: 只能为“rt”, “be”, 或 "idle"

  • Priority:从0到7

ioprio选项

task_profiles选项

配置Cgroup(control groups)。这是为了取代使用writepid选项将一个进程移入一个cgroup。

Cgroup是用来限制、控制与分离一个进程组的资源(如CPU、内存、磁盘、输入输出等)。

语法

task_profiles <profile> [ <profile>* ]

在手机里面可以查看相关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> <cur> <max>

常见 resource如下表

rlimit选项

赞(2)
未经允许不得转载:极客笔记 » 第4讲 cameraserver.rc详解(下)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址