cgroups
TLDR: cgroups (Control Groups) is a Linux Kernel feature introduced in 2008 that enables the management and limitation of resources for processes. By grouping processes into hierarchies, cgroups control CPU, memory, disk I/O, and network usage. This capability is critical for implementing resource isolation and allocation in modern computing environments, especially in containerization platforms like Docker and Kubernetes.
https://en.wikipedia.org/wiki/Cgroups
The core functionality of cgroups includes resource limitation, priority control, and accounting. Administrators can use cgroups to allocate specific amounts of CPU or memory to particular workloads, ensuring that no single process or container monopolizes system resources. These groups operate in a hierarchical structure, allowing nested control and fine-grained resource management. cgroups also provide detailed statistics for monitoring resource usage, making it a vital tool for performance tuning and diagnostics.
https://www.kernel.org/doc/Documentation/cgroup-v1/cgroups.txt
cgroups is a foundational technology in containerization and cloud computing. Tools like Docker and Kubernetes use cgroups to isolate and manage containers, ensuring predictable performance and efficient resource utilization. Over time, enhancements like cgroups v2 have simplified management and improved interoperability with other Linux Kernel features. As a key enabler of modern resource management, cgroups continues to play a pivotal role in scalable and reliable system architecture.
https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v2.html