Linux Cgroup 技术 与 智能手机系统 IO 优化.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Cgroups On Phone Agenda Overview? l Cgroups Subsystem l Block IO Contro er l The Question l QA Overview What Cgroups Are? cgroups (abbreviated from control groups) is a Linux kernel feature that limits, accounts for and isolates the resource usage (CPU, memory, disk I/O, network, etc.) of a co ection of processes. Engineers at Google (primarily Paul Menage and Rohit Seth) started working on this feature - under the name process containers - in 2006.[1] In late 2007 the nomenclature changed to control groups due to the confusion caused by multiple meanings of the term container in the Linux kernel context, and control-group functionality merged into kernel version 2.6.24.[2] Since then developers have added many new features and contro ers, such as support for kernfs,[3] firewa ing,[4] and a unified hierarchy.[5] Cgroups 可以做什么? 1. 限制进程组可以使用的资源数量(Resource limiting) 。比如:memory 子 统可以为进程组设定一个memory 使用上限,一旦进程组使用的内存达到限额再 申请内存,就会出发OOM(out of memory) 。 2. 进程组的优先级控制(Prioritization) 。比如:可以使用cpu 子系统为某个进程 组分配特定cpu share 。 3. 记录进程组使用的资源数量(Accounting) 。比如:可以使用cpuacct 子系统 记录某个进程组使用的cpu 时间。 4. 进程组隔离(isolation) 。比如:使用ns 子系统可以使不同的进程组使用不同的 namespace ,以达到隔离的目的,不同的进程组有各自的进程、网络、文件系统 挂载空间。 5. 进程组控制(control) 。比如:使用freezer 子系统可以将进程组挂起和恢复。 Cgroups 概念 1. 任务(task) 。在 cgroups 中, 任务就是系统的一个进程。 2. 控制族群(control group) 。控制族群就是一组按照某种标准划分 的进程。Cgroups 中的资源控制都是以控制族群为单位实现。一个进 程可以加入到某个控制族群, 也从一个进程组迁移到另一个控制族群。 一个进程组的进程可以使用 cgroups 以控制族群为单位分配的资源, 同时受到 cgroups 以控制族群为单位设定的限制。 3. 层级(hierarchy) 。控制族群可以组织成 hierarchical 的形式, 既 一颗控制族群树。控制族群树上的子节点控制族群是父节点控制族群的 孩子, 继承父控制族群的特定的属性。 4. 子系统(subsytem) 。一个子系统就是一个资源控制器, 比如 cpu 子系统就是控制 cpu 时间分配的一个控制器。子系统必须附加 (attach) 到一个层级上才能起作用, 一个子系统附加到某个层级以后, 这个层级上的所有控制族群都受到这个子系统的控制。 层级关 Cgroups 在虚拟化中的位 置 Cgroup Subsystem blkio -- 这个子系统为块设备设定输入/ 输出限制, 比如物理设备( 磁盘, 固态硬盘,USB 等) cpu -- 这个子系统使用调度程序提供对 CPU 的 cgroup 任务访问。 cpuacct -- 这个子系统自动生成 cgroup 中任务所使用的 CPU 报告。 cpuset

文档评论(0)

xingyuxiaxiang + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档