control group
also: cgroup, cgroups, control group subsystem
A kernel feature that limits and monitors resource usage (CPU, memory, I/O) for a group of processes. Control groups organize processes hierarchically and enforce resource quotas at the OS level.
Control groups (cgroups) are a Linux kernel mechanism that allow you to allocate, limit, and monitor hardware resources like CPU time, memory, disk I/O, and network bandwidth to groups of processes. They form a hierarchy where child cgroups inherit limits from their parents.
Cgroups are fundamental to containerization technologies like Docker and Kubernetes. For example, you can create a control group that limits a web server process to 2 GB of memory and 50% of CPU resources, ensuring it doesn't starve other applications.
Modern Linux uses cgroups v2 (unified hierarchy) which simplifies the interface, though cgroups v1 (multiple hierarchies) is still widely supported. Resource controllers manage specific limits: the memory controller caps RAM usage, the cpu controller shares CPU time, and the io controller throttles disk access.