
cgroups
跳到导航
跳到搜索
原作者 | Paul Menage 與 Rohit Seth |
---|---|
開發者 | kernel.org (Tejun Heo與其他成員)以及freedesktop.org |
首次发布 | 2007年 |
编程语言 | C語言 |
操作系统 | Linux |
类型 | 行程群組的資源管理功能 |
许可协议 | GPL 與 LGPL |
网站 | www |

Unified hierarchy cgroups 且 systemd.
cgroups,其名稱源自控制群組(英語:control groups)的簡寫,是Linux内核的一个功能,用来限制、控制與分離一个行程群組的资源(如CPU、内存、磁盘输入输出等)。
這個專案最早是由Google的工程師(主要是Paul Menage和Rohit Seth)在2006年發起,最早的名稱為进程容器(process containers)[1]。在2007年時,因為在Linux內核中,容器(container)這個名詞有許多不同的意義,為避免混亂,被重新命名為cgroup,並且被合併到2.6.24版的内核中去[2]。自那以后,又添加了很多功能。
功能[编辑]
cgroups的一个设计目标是为不同的应用情况提供统一的接口,从控制单一进程(像nice)到作業系統層虛擬化(像OpenVZ,Linux-VServer,LXC)。cgroups提供:
- 资源限制:组可以被设置不超过设定的内存限制;这也包括虚拟内存。[3] [4]
- 优先级:一些组可能会得到大量的CPU[5] 或磁盘IO吞吐量。[6]
- 结算:用来度量系统实际用了多少资源。[7]
- 控制:冻结组或检查点和重启动。[7]
参见[编辑]
- Linux Containers (LXC)
- systemd
引用[编辑]
- ^ Jonathan Corbet. Process containers. LWN.net. 2007-05-29 [2012-06-16]. (原始内容存档于2017-06-12).
- ^ Jonathan Corbet. Notes from a container. LWN.net. 2007-10-29 [2012-06-16]. (原始内容存档于2012-06-22).
- ^ Jonathan Corbet. Controlling memory use in containers. LWN. 2007-07-31 [2012-06-16]. (原始内容存档于2018-01-29).
- ^ Balbir Singh, Vaidynathan Srinivasan. Containers: Challenges with the memory resource controller and its performance (PDF). Ottawa Linux Symposium. July 2007 [2012-06-16]. (原始内容存档 (PDF)于2012-05-23).
- ^ Jonathan Corbet. Kernel space: Fair user scheduling for Linux. Network World. 2007-10-23 [2012-06-16]. (原始内容存档于2009-05-24).
- ^ Kamkamezawa Hiroyu. Cgroup and Memory Resource Controller (PDF). Japan Linux Symposium. 2008-11-19 [2012-06-16]. (原始内容 (PDF presentation slides)存档于2011-07-22).
- ^ 7.0 7.1 Dave Hansen. Resource Management (PDF). Linux Foundation. [2012-06-16]. (原始内容 (PDF presentation slides)存档于2011-10-09).