Original author(s) | v1: Paul Menage, Rohit Seth, Memory Controller by Balbir Singh, CPU controller by Srivatsa Vaddagiri v2: Tejun Heo |
---|---|
Developer(s) | Tejun Heo, Johannes Weiner, Michal Hocko, Waiman Long, Roman Gushchin, Chris Down et al. |
Initial release | 2007 |
Written in | C |
Operating system | Linux |
Type | System software |
License | GPL and LGPL |
Website | Cgroup v1, Cgroup v2 |
cgroups (abbreviated from control groups) is a Linux kernel feature that limits, accounts for, and isolates the resource usage (CPU, memory, disk I/O, etc.[1]) of a collection of processes.
Engineers at Google started the work on this feature in 2006 under the name "process containers".[2] In late 2007, the nomenclature changed to "control groups" to avoid confusion caused by multiple meanings of the term "container" in the Linux kernel context, and the control groups functionality was merged into the Linux kernel mainline in kernel version 2.6.24, which was released in January 2008.[3] Since then, developers have added many new features and controllers, such as support for kernfs in 2014,[4] firewalling,[5] and unified hierarchy.[6] cgroup v2 was merged in Linux kernel 4.5[7] with significant changes to the interface and internal functionality.[8]
The original 'containers' name was considered to be too generic – this code is an important part of a container solution, but it's far from the whole thing. So containers have now been renamed 'control groups' (or 'cgroups') and merged for 2.6.24.
:0
was invoked but never defined (see the help page).