cgroups
维基百科,自由的百科全书
cgroups(控制组)是Linux内核的一个功能,用来限制报告和分离一个进程组的资源(CPU、内存、磁盘输入输出等)。这个工作是由Google的工程师(主要是Paul Menage和Rohit Seth)在2006年以“process containers(进程容器)”的名字开始的;[1] 在2007年的晚些时候被重命名为控制组(由于在内核中“容器”这个名词的歧义引起的混乱)并被合并到2.6.24版的内核中去。[2] 自那以后,又添加了很多功能和控制器。
目录 |
功能 [编辑]
cgroups的一个设计目标是为不同的应用情况提供统一的接口,从控制单一进程(像nice)到系统级虚拟化(像opeNVZ,Linux-VServer,LXC)。cgroups提供:
- 资源限制:组可以被设置不超过设定的内存限制;这也包括虚拟内存。[3] 原来的分页机制是在Linux研讨会的Containers: Challenges with the memory resource controller and its performance报告中提出的。[4]
- 优先化:一些组可能会得到大量的CPU[5] 或磁盘输入输出通量。[6]
- 报告:用来衡量系统确实把多少资源用到适合的目的上。[7]
- 分离:为组分离命名空间,这样一个组不会看到另一个组的进程、网络连接和文件。[2]
- 控制:冻结组或检查点和重启动。[7]
参见 [编辑]
- Linux Containers (LXC)
- systemd
引用 [编辑]
- ^ Jonathan Corbet. Process containers. LWN.net. 2007-05-29.
- ^ 2.0 2.1 Jonathan Corbet. Notes from a container. LWN.net. 2007-10-29.
- ^ Jonathan Corbet. Controlling memory use in containers. LWN. 2007-07-31.
- ^ Balbir Singh, Vaidynathan Srinivasan. Ottawa Linux Symposium http://www.kernel.org/doc/ols/2007/ols2007v2-pages-209-222.pdf. July 2007. 缺少或
|title=为空 (帮助) - ^ Jonathan Corbet. Kernel space: Fair user scheduling for Linux. Network World. 2007-10-23.
- ^ Kamkamezawa Hiroyu. Cgroup and Memory Resource Controller (PDF presentation slides). Japan Linux Symposium. 2008-11-19.
- ^ 7.0 7.1 Dave Hansen. Resource Management (PDF presentation slides). Linux Foundation.