Cgroup介绍 - 技术分享 - 志盟培训
首页技术分享 Cgroup介绍

Cgroup介绍

更新时间:2017-02-08      作者:黄老师       阅读:6185

CGroupControl Groups 的缩写,是 Linux 内核提供的一种可以限制、记录、隔离进程组 (process groups) 所使用的物力资源 (如cpu memory i/o 等等) 的机制。2007 年进入 Linux 2.6.24 内核,CGroups不是全新创造的,它将进程管理从cpuset中剥离出来,作者是 Google 的 Paul Menage。CGroups也是 LXC 为实现虚拟化所使用的资源管理手段。目前各大发行版都默认打开了Cgroup特性。

从实现的角度来看,cgroup实现了一个通用的进程分组的架构,而不同资源的具体管理则是由各个Cgroup子系统实现的。截止到内核4.1版本,Cgroup中实现的子系统记起操作如下:

1.devices:设备权限控制

2.cpuset:分配指定的CPU和内存节点。

3.cpu:控制CPU占用率。

4.cpuacct:统计CPU使用情况。

5.memory:限制内存的使用上限。

6.freezer:冻结(暂停)Cgroup中的进程。

7.net_cls:配合tc(traffic controller)限制网络宽带。

8.huge¬_tlb:限制HugTLB的使用

9.perf_event:允许perf工具基于Cgroup分组做性能监测。

Cgroup出现之前,只能对一个进程做一些资源控制,例如通过sched¬_setaffinity系统调用限定一个进程的CPU亲和性,或者用ulimit限制一个进程的文件上限、栈大小等。另外,使用ulimit可以对少数资源基于用户做资源控制,例如限制一个用户能创建的进程数。而Cgroup可以对进程进行任意的分组,如何分组是用户自定义的,例如安卓的应用分为前台用用和后台应用。

CGroup将任意进程进行分组化管理的 Linux 内核功能。CGroup本身是提供将进程进行分组化管理的功能和接口的基础结构,I/O 或内存的分配控制等具体的资源管理功能是通过这个功能来实现的。这些具体的资源管理功能称为CGroup子系统或控制器。CGroup子系统有控制内存的 Memory 控制器、控制进程调度的 CPU 控制器等。运行中的内核可以使用的Cgroup子系统由/proc/cgroup来确认。

在线报名

志盟科技上海招聘

在线报名 联系我们

志盟科技深圳招聘

在线报名 联系我们

志盟科技北京招聘

在线报名 联系我们
联系我们

咨询热线:

咨询 QQ:517578         

就业学员

  • 就业学员

    姓名:郭凡凡 
    院校:阜阳师范学院
    就职:佳戴
    职位:软件工程师
    月薪:10000

  • 就业学员

    姓名:陈祥龙 
    院校:中北大学
    就职:美囤妈妈
    职位:软件工程师
    月薪:9000

  • 就业学员

    姓名:陈建伟
    院校:南昌航空大学
    就职:SONY
    职位:嵌入式工程师
    月薪:8000

×
×
  • *真实姓名
  • *联系手机
  • *上课地址
  •    QQ号码

温馨提示:请保持手机畅通,咨询老师将为您提供专属的一对一报名服务。

×
  • *真实姓名
  • *联系手机
  • *联系邮箱
  • * QQ号码

温馨提示:请保持手机畅通,咨询老师将为您提供专属的一对一的服务。

本站由 宽敬科技——创新企业的建站运营顾问 提供支持