Docker学习系列:聊一聊资源限制使用的Cgroup技术

今天在看Docker技术实现的时候,看到了Cgroup这个技术,原先没有深入了解Docker怎么实现资源隔离也没有怎么关注过。这次看到了Cgroup,那么顺便也记录Cgroup这个技术。

第一次接触Cgroup

第一次接触到Cgroup是去年在一家公司做大数据程序,有部分程序实现的代码需要把部署在服务器上的程序与C语言程序进行系统资源隔离分开。
避免两个程序进行资源的争夺导致其他程序失败,我们在实现的过程中就是采用的Cgroup。

什么是Cgroup

Cgroup是Linux内核提供的一种可以限制,记录,隔离进程组所使用的物力资源的机制。
作者是Goolge的Paul Menage,为LXC实现虚拟化所采用的 的资源管理手段。
其实Cgroup是从Linux的进程管理中的cpuset剥离出来的。

功能及组成

Cgroup 能够将进程进行分组然后进行管理I/O,内存的分配,CPU的使用等等,这些资源管理功能称为Cgroup的子系统或者控制系统。
内核使用Cgroup子系统由/proc/cgroup确认.
在想使用这些分组管理以及子系统,那么在系统中需要挂载CGroup的文件系统。
支持的子系统如下:

文件名称 读与写 用途
Task 读与写 设置分组的线程的列表
Cgroup.procs 属于分组的进程PID列表,包含多线程进程的线程leader的TID
enent_control 读与写 监视状态变化和分组删除事件的配置文件

概念解释

  • 任务:系统的一个子进程。
  • control group 控制族群。按照某一个标准出现的进程组。
  • 层级:金字塔结构,底层继承父层的属性限制。
  • 子系统:一个子系统就是资源控制器。子系统加入到某个层级以后,层级上的所有控制族群都受到子系统的控制。

架构图

摘自IBM论坛

从架构图中我们可以看到该技术是用在操作系统的底层上的,起到Container的作用。

Docker也利用了CGroup

我们在系统上建立多个容器,并且使用run 参数设置cpu,内存等信息。其实机制也是利用了CGroup技术来达到的实现。
为什么我们要限制资源?
如果我们在一个系统级别上创立了很多种容器。并且都没有对容器进行资源的限制。
当使用这些容器运行时,就可能出现资源竞争的情况,并且可能存在某个容器把资源抢光的情景。
这就是CGroup需要做的事情了,进行资源的隔离。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,816评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,729评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,300评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,780评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,890评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,084评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,151评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,912评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,355评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,666评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,809评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,504评论 4 334
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,150评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,882评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,121评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,628评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,724评论 2 351

推荐阅读更多精彩内容

  • 转载自 http://blog.opskumu.com/docker.html 一、Docker 简介 Docke...
    极客圈阅读 10,481评论 0 120
  • Docker容器技术已经发展了好些年,在很多项目都有应用,线上运行也很稳定。整理了部分Docker的学习笔记以及新...
    __七把刀__阅读 11,438评论 0 59
  • 情景一 我明天出去玩的啊! 你又去哪里的呀,一天到晚就知道跑,不是说没有钱吗?还跑。不是说天天累的很吗?不在家睡觉...
    月儿的2016阅读 130评论 0 0
  • 世界很大 这渺小的芸芸众生 他们短暂的生命 也不过是一个过场 我有时候就在想 我为什么是我 世界这么大 我为什么就...
    大头吱吱怪阅读 167评论 0 0
  • 人生需要少做选择 看到这个题目有没有感觉似曾相识?在《见识》第二章,也讲了人生需要做减法。 第二章针对的是自己,而...
    一颗有趣的豆阅读 175评论 0 1