Linux cgroups: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 11: Line 11:
=Overview=
=Overview=


cgroups is a Linux kernel feature that allows allocation of resources (CPU, system memory, network bandwidth, or a combination of these) among user-defined ''groups of processes'' running on the system. cgroups can be configured via the cgconfig service.  
cgroups is a Linux kernel feature that allows allocation of resources (CPU, system memory, network bandwidth, or a combination of these) among user-defined ''groups of processes'' running on the system.


cgroups are organized hierarchically, child cgroups inheriting certain attributes from their parent group. Many different hierarchies of cgroups can exist simultaneously on a system. Each hierarchy is attached to one or more subsystem, where a subsystem represents a single resource like CPU time or memory.
cgroups are organized hierarchically, child cgroups inheriting certain attributes from their parent group. Many different hierarchies of cgroups can exist simultaneously on a system. Each hierarchy is attached to one or more subsystem, where a subsystem represents a single resource like CPU time or memory.
cgroups can be configured via the cgconfig service.


=cgroups Subsystems=
=cgroups Subsystems=

Revision as of 23:14, 26 January 2018

External

Internal

Overview

cgroups is a Linux kernel feature that allows allocation of resources (CPU, system memory, network bandwidth, or a combination of these) among user-defined groups of processes running on the system.

cgroups are organized hierarchically, child cgroups inheriting certain attributes from their parent group. Many different hierarchies of cgroups can exist simultaneously on a system. Each hierarchy is attached to one or more subsystem, where a subsystem represents a single resource like CPU time or memory.

cgroups can be configured via the cgconfig service.

cgroups Subsystems

  • blkio - sets limits on input/output access from and to block devices.
  • cpu - uses the scheduler to provide cgroup tasks access to the CPU.
  • cpuacct - generates automatic reports on CPU resources.
  • cpuset - assigns individual CPUs and memory nodes to tasks in a cgroup.
  • devices.
  • freezer.
  • memory.
  • net_cls - tags network packets with a tag identifier (classid) that allow the Linux traffic controller (tc) to identify packets.
  • net_prio.
  • ns - the namespace subsystem.
  • perf_event.