码迷,mamicode.com
首页 > 其他好文 > 详细

Cgroup

时间:2014-10-28 23:36:00      阅读:469      评论:0      收藏:0      [点我收藏+]

标签:blog   http   io   ar   使用   for   sp   strong   数据   

Cgroups (abbreviated from control groups) is a Linux kernel feature to limit, account, and isolate resource usage (CPU, memory, disk I/O, etc.) of process groups.

 

Cgroups是control groups的缩写,是Linux内核提供的一种可以限制、记录、隔离进程组(process groups)所使用的物理资源(如:cpu,memory,IO等等)的机制。最初由google的工程师提出,后来被整合进Linux内核。Cgroups也是LXC为实现虚拟化所使用的资源管理手段,可以说没有cgroups就没有LXC。

 

特点:

优点:
? 虚拟化开销小,一台物理机可以运行很多“小”虚拟机。
? 通过 cgroup 的方法增减 CPU(中央处理器)/内存非常方便,调整速度很快。 ? 虚拟机运行速度和本地环境相同的速度基本相同。
缺点:
? 不能热迁移 。
? 不能模拟不同体系结构、装不同操作系统。
? 安全隔离差 。 

 

场景:
使用场景是MySQL多实例
? 多实例下保证服务质量和资源控制 ? RDS的基础
? 对目前运维改动可控

 

我们需要控制哪些资源:

? CPU
? BLK
? Memory 

 

cgroup基本概念
  • ?  cgroup - 关联一组task和一组subsystem的配置参数。一个task对应一个进程, cgroup是资源分片的最小单位。

  • ?  subsystem - 资源管理器,一个subsystem对应一项资源的管理

  • ?  hierarchy - 关联一个到多个subsystem和一组树形结构的cgroup. 和cgroup不同, hierarchy包含的是可管理的subsystem而非具体参数 

Cgroup子系统
  • ?  blkio: 限制每个块设备的IO。

  • ?  cpu: 为任务所使用的cpu时间提供调度控制

  • ?  cpuacct:为任务自动生成cpu资源使用报告

  • ?  cpuset: 为任务分配独立cpu(对于多核处理器)和内存节点

  • ?  devices: 允许或者拒绝某些任务访问指定的设备

  • ?  freezer: 允许挂起或者恢复群组中的任务

  • ?  memory:限制任务所使用的内存,并自动生成内存资源报告

  • ?  net_cls: 用类标识符(classid)来标记网络包,以便Linux流量控制(tc)能够分辨 cgroup 中的特定任务所发出的数据包

  • ?  ns: 允许为任务分配不同的名称空间 

 

基本原则

? 一个hierarchy可以有多个 subsystem
? 一个已经被挂载的 subsystem 只能被再次挂载在一个空的 hierarchy 上 ? 每个task只能在一同个hierarchy的唯一一个cgroup里

? 子进程在被fork出时自动继承父进程所在cgroup,但是fork之后就可以按需调整到 其他cgroup 

原文:

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Resource_Management_Guide/sec-Relationships_Between_Subsystems_Hierarchies_Control_Groups_and_Tasks.htmlbubuko.com,布布扣

 

bubuko.com,布布扣

bubuko.com,布布扣

bubuko.com,布布扣

 

Cgroup 分配示例 

 bubuko.com,布布扣bubuko.com,布布扣

 

 

 

[参考资料]

1、https://access.redhat.com/documentation/zh-CN/Red_Hat_Enterprise_Linux/6/html/Resource_Management_Guide/ch01.html

2、http://www.cnblogs.com/lisperl/archive/2012/04/17/2453838.html

3、http://www.oracle.com/technetwork/articles/servers-storage-admin/resource-controllers-linux-1506602.html

Cgroup

标签:blog   http   io   ar   使用   for   sp   strong   数据   

原文地址:http://www.cnblogs.com/gsblog/p/4058124.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!