What are Linux cgroups

(written by lawrence krubner, however indented passages are often quotes). You can contact lawrence at: lawrence@krubner.com, or follow me on Twitter.

This is not the way I would have gone, but whatever. Here we are now:

cgroups (abbreviated from control groups) is a Linux kernel feature that limits, accounts for, and isolates the resource usage (CPU, memory, disk I/O, network, etc.) of a collection of processes.

Engineers at Google (primarily Paul Menage and Rohit Seth) started the work on this feature in 2006 under the name “process containers”.[1] 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.[2] Since then, developers have added many new features and controllers, such as support for kernfs in 2014,[3] firewalling,[4] and unified hierarchy.[5]

This is a complicated way to go, when compared to the option of an uber binary that includes all of its dependencies inside of itself — a strategy that does not require deep changes to the underlying operating system.

Post external references

  1. 1