Cgroups (Control Groups) is a feature in Linux kernel that enables allocation of resources such as CPU, memory, I/O and network bandwidth to specific processes or groups of processes. It provides for resource isolation, prioritization, and control to ensure that different processes or groups of processes do not conflict with each other and consume more than their fair share of system resources.
Cgroups organize processes into hierarchical groups, which can be managed and manipulated via the cgroup file system. Administrators can set limits on the amount of resources allocated to each group of processes, which can help prevent system overload and improve overall system performance.
Cgroups are widely used in containerization technologies like Docker and Kubernetes to manage and restrict the resources consumed by containers. They are also used in virtualization technologies to manage resources allocated to virtual machines.