mirror of https://github.com/mkerrisk/man-pages
cgroups.7: Relocate "Cgroups version 1 controllers" subsection
No text changes Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
This commit is contained in:
parent
f524e7f8c7
commit
860573adaa
228
man7/cgroups.7
228
man7/cgroups.7
|
@ -228,6 +228,120 @@ in particular,
|
||||||
.BR systemd (1)
|
.BR systemd (1)
|
||||||
automatically creates such mount points.
|
automatically creates such mount points.
|
||||||
.\"
|
.\"
|
||||||
|
.SS Cgroups version 1 controllers
|
||||||
|
Each of the cgroups version 1 controllers is governed
|
||||||
|
by a kernel configuration option (listed below).
|
||||||
|
Additionally, the availability of the cgroups feature is governed by the
|
||||||
|
.BR CONFIG_CGROUPS
|
||||||
|
kernel configuration option.
|
||||||
|
.TP
|
||||||
|
.IR cpu " (since Linux 2.6.24; " \fBCONFIG_CGROUP_SCHED\fP )
|
||||||
|
Cgroups can be guaranteed a minimum number of "CPU shares"
|
||||||
|
when a system is busy.
|
||||||
|
This does not limit a cgroup's CPU usage if the CPUs are not busy.
|
||||||
|
|
||||||
|
Further information can be found in the kernel source file
|
||||||
|
.IR Documentation/scheduler/sched\-bwc.txt .
|
||||||
|
.TP
|
||||||
|
.IR cpuacct " (since Linux 2.6.24; " \fBCONFIG_CGROUP_CPUACCT\fP )
|
||||||
|
This provides accounting for CPU usage by groups of processes.
|
||||||
|
|
||||||
|
Further information can be found in the kernel source file
|
||||||
|
.IR Documentation/cgroup\-v1/cpuacct.txt .
|
||||||
|
.TP
|
||||||
|
.IR cpuset " (since Linux 2.6.24; " \fBCONFIG_CPUSETS\fP )
|
||||||
|
This cgroup can be used to bind the processes in a cgroup to
|
||||||
|
a specified set of CPUs and NUMA nodes.
|
||||||
|
|
||||||
|
Further information can be found in the kernel source file
|
||||||
|
.IR Documentation/cgroup\-v1/cpusets.txt .
|
||||||
|
.TP
|
||||||
|
.IR memory " (since Linux 2.6.25; " \fBCONFIG_MEMCG\fP )
|
||||||
|
The memory controller supports reporting and limiting of process memory, kernel
|
||||||
|
memory, and swap used by cgroups.
|
||||||
|
|
||||||
|
Further information can be found in the kernel source file
|
||||||
|
.IR Documentation/cgroup\-v1/memory.txt .
|
||||||
|
.TP
|
||||||
|
.IR devices " (since Linux 2.6.26; " \fBCONFIG_CGROUP_DEVICE\fP )
|
||||||
|
This supports controlling which processes may create (mknod) devices as
|
||||||
|
well as open them for reading or writing.
|
||||||
|
The policies may be specified as whitelists and blacklists.
|
||||||
|
Hierarchy is enforced, so new rules must not
|
||||||
|
violate existing rules for the target or ancestor cgroups.
|
||||||
|
|
||||||
|
Further information can be found in the kernel source file
|
||||||
|
.IR Documentation/cgroup-v1/devices.txt .
|
||||||
|
.TP
|
||||||
|
.IR freezer " (since Linux 2.6.28; " \fBCONFIG_CGROUP_FREEZER\fP )
|
||||||
|
The
|
||||||
|
.IR freezer
|
||||||
|
cgroup can suspend and restore (resume) all processes in a cgroup.
|
||||||
|
Freezing a cgroup
|
||||||
|
.I /A
|
||||||
|
also causes its children, for example, processes in
|
||||||
|
.IR /A/B ,
|
||||||
|
to be frozen.
|
||||||
|
|
||||||
|
Further information can be found in the kernel source file
|
||||||
|
.IR Documentation/cgroup-v1/freezer-subsystem.txt .
|
||||||
|
.TP
|
||||||
|
.IR net_cls " (since Linux 2.6.29; " \fBCONFIG_CGROUP_NET_CLASSID\fP )
|
||||||
|
This places a classid, specified for the cgroup, on network packets
|
||||||
|
created by a cgroup.
|
||||||
|
These classids can then be used in firewall rules,
|
||||||
|
as well as used to shape traffic using
|
||||||
|
.BR tc (8).
|
||||||
|
This applies only to packets
|
||||||
|
leaving the cgroup, not to traffic arriving at the cgroup.
|
||||||
|
|
||||||
|
Further information can be found in the kernel source file
|
||||||
|
.IR Documentation/cgroup-v1/net_cls.txt .
|
||||||
|
.TP
|
||||||
|
.IR blkio " (since Linux 2.6.33; " \fBCONFIG_BLK_CGROUP\fP )
|
||||||
|
The
|
||||||
|
.I blkio
|
||||||
|
cgroup controls and limits access to specified block devices by
|
||||||
|
applying IO control in the form of throttling and upper limits against leaf
|
||||||
|
nodes and intermediate nodes in the storage hierarchy.
|
||||||
|
|
||||||
|
Two policies are available.
|
||||||
|
The first is a proportional-weight time-based division
|
||||||
|
of disk implemented with CFQ.
|
||||||
|
This is in effect for leaf nodes using CFQ.
|
||||||
|
The second is a throttling policy which specifies
|
||||||
|
upper I/O rate limits on a device.
|
||||||
|
|
||||||
|
Further information can be found in the kernel source file
|
||||||
|
.IR Documentation/cgroup-v1/blkio-controller.txt .
|
||||||
|
.TP
|
||||||
|
.IR perf_event " (since Linux 2.6.39; " \fBCONFIG_CGROUP_PERF\fP )
|
||||||
|
This controller allows
|
||||||
|
.I perf
|
||||||
|
monitoring of the set of processes grouped in a cgroup.
|
||||||
|
|
||||||
|
Further information can be found in the kernel source file
|
||||||
|
.IR Documentation/perf-record.txt .
|
||||||
|
.TP
|
||||||
|
.IR net_prio " (since Linux 3.3; " \fBCONFIG_CGROUP_NET_PRIO\fP )
|
||||||
|
This allows priorities to be specified, per network interface, for cgroups.
|
||||||
|
|
||||||
|
Further information can be found in the kernel source file
|
||||||
|
.IR Documentation/cgroup-v1/net_prio.txt .
|
||||||
|
.TP
|
||||||
|
.IR hugetlb " (since Linux 3.5; " \fBCONFIG_CGROUP_HUGETLB\fP )
|
||||||
|
This supports limiting the use of huge pages by cgroups.
|
||||||
|
|
||||||
|
Further information can be found in the kernel source file
|
||||||
|
.IR Documentation/cgroup-v1/hugetlb.txt .
|
||||||
|
.TP
|
||||||
|
.IR pids " (since Linux 4.3; " \fBCONFIG_CGROUP_PIDS\fP )
|
||||||
|
This controller permits limiting the number of process that may be created
|
||||||
|
in a cgroup (and its descendants).
|
||||||
|
|
||||||
|
Further information can be found in the kernel source file
|
||||||
|
.IR Documentation/cgroup-v1/pids.txt .
|
||||||
|
.\"
|
||||||
.SS Creating cgroups and moving processes
|
.SS Creating cgroups and moving processes
|
||||||
A cgroup filesystem initially contains a single root cgroup, '/',
|
A cgroup filesystem initially contains a single root cgroup, '/',
|
||||||
which all processes belong to.
|
which all processes belong to.
|
||||||
|
@ -363,120 +477,6 @@ For more changes, see the
|
||||||
.I Documentation/cgroup-v2.txt
|
.I Documentation/cgroup-v2.txt
|
||||||
file in the kernel source.
|
file in the kernel source.
|
||||||
.\"
|
.\"
|
||||||
.SS Cgroups version 1 controllers
|
|
||||||
Each of the cgroups version 1 controllers is governed
|
|
||||||
by a kernel configuration option (listed below).
|
|
||||||
Additionally, the availability of the cgroups feature is governed by the
|
|
||||||
.BR CONFIG_CGROUPS
|
|
||||||
kernel configuration option.
|
|
||||||
.TP
|
|
||||||
.IR cpu " (since Linux 2.6.24; " \fBCONFIG_CGROUP_SCHED\fP )
|
|
||||||
Cgroups can be guaranteed a minimum number of "CPU shares"
|
|
||||||
when a system is busy.
|
|
||||||
This does not limit a cgroup's CPU usage if the CPUs are not busy.
|
|
||||||
|
|
||||||
Further information can be found in the kernel source file
|
|
||||||
.IR Documentation/scheduler/sched\-bwc.txt .
|
|
||||||
.TP
|
|
||||||
.IR cpuacct " (since Linux 2.6.24; " \fBCONFIG_CGROUP_CPUACCT\fP )
|
|
||||||
This provides accounting for CPU usage by groups of processes.
|
|
||||||
|
|
||||||
Further information can be found in the kernel source file
|
|
||||||
.IR Documentation/cgroup\-v1/cpuacct.txt .
|
|
||||||
.TP
|
|
||||||
.IR cpuset " (since Linux 2.6.24; " \fBCONFIG_CPUSETS\fP )
|
|
||||||
This cgroup can be used to bind the processes in a cgroup to
|
|
||||||
a specified set of CPUs and NUMA nodes.
|
|
||||||
|
|
||||||
Further information can be found in the kernel source file
|
|
||||||
.IR Documentation/cgroup\-v1/cpusets.txt .
|
|
||||||
.TP
|
|
||||||
.IR memory " (since Linux 2.6.25; " \fBCONFIG_MEMCG\fP )
|
|
||||||
The memory controller supports reporting and limiting of process memory, kernel
|
|
||||||
memory, and swap used by cgroups.
|
|
||||||
|
|
||||||
Further information can be found in the kernel source file
|
|
||||||
.IR Documentation/cgroup\-v1/memory.txt .
|
|
||||||
.TP
|
|
||||||
.IR devices " (since Linux 2.6.26; " \fBCONFIG_CGROUP_DEVICE\fP )
|
|
||||||
This supports controlling which processes may create (mknod) devices as
|
|
||||||
well as open them for reading or writing.
|
|
||||||
The policies may be specified as whitelists and blacklists.
|
|
||||||
Hierarchy is enforced, so new rules must not
|
|
||||||
violate existing rules for the target or ancestor cgroups.
|
|
||||||
|
|
||||||
Further information can be found in the kernel source file
|
|
||||||
.IR Documentation/cgroup-v1/devices.txt .
|
|
||||||
.TP
|
|
||||||
.IR freezer " (since Linux 2.6.28; " \fBCONFIG_CGROUP_FREEZER\fP )
|
|
||||||
The
|
|
||||||
.IR freezer
|
|
||||||
cgroup can suspend and restore (resume) all processes in a cgroup.
|
|
||||||
Freezing a cgroup
|
|
||||||
.I /A
|
|
||||||
also causes its children, for example, processes in
|
|
||||||
.IR /A/B ,
|
|
||||||
to be frozen.
|
|
||||||
|
|
||||||
Further information can be found in the kernel source file
|
|
||||||
.IR Documentation/cgroup-v1/freezer-subsystem.txt .
|
|
||||||
.TP
|
|
||||||
.IR net_cls " (since Linux 2.6.29; " \fBCONFIG_CGROUP_NET_CLASSID\fP )
|
|
||||||
This places a classid, specified for the cgroup, on network packets
|
|
||||||
created by a cgroup.
|
|
||||||
These classids can then be used in firewall rules,
|
|
||||||
as well as used to shape traffic using
|
|
||||||
.BR tc (8).
|
|
||||||
This applies only to packets
|
|
||||||
leaving the cgroup, not to traffic arriving at the cgroup.
|
|
||||||
|
|
||||||
Further information can be found in the kernel source file
|
|
||||||
.IR Documentation/cgroup-v1/net_cls.txt .
|
|
||||||
.TP
|
|
||||||
.IR blkio " (since Linux 2.6.33; " \fBCONFIG_BLK_CGROUP\fP )
|
|
||||||
The
|
|
||||||
.I blkio
|
|
||||||
cgroup controls and limits access to specified block devices by
|
|
||||||
applying IO control in the form of throttling and upper limits against leaf
|
|
||||||
nodes and intermediate nodes in the storage hierarchy.
|
|
||||||
|
|
||||||
Two policies are available.
|
|
||||||
The first is a proportional-weight time-based division
|
|
||||||
of disk implemented with CFQ.
|
|
||||||
This is in effect for leaf nodes using CFQ.
|
|
||||||
The second is a throttling policy which specifies
|
|
||||||
upper I/O rate limits on a device.
|
|
||||||
|
|
||||||
Further information can be found in the kernel source file
|
|
||||||
.IR Documentation/cgroup-v1/blkio-controller.txt .
|
|
||||||
.TP
|
|
||||||
.IR perf_event " (since Linux 2.6.39; " \fBCONFIG_CGROUP_PERF\fP )
|
|
||||||
This controller allows
|
|
||||||
.I perf
|
|
||||||
monitoring of the set of processes grouped in a cgroup.
|
|
||||||
|
|
||||||
Further information can be found in the kernel source file
|
|
||||||
.IR Documentation/perf-record.txt .
|
|
||||||
.TP
|
|
||||||
.IR net_prio " (since Linux 3.3; " \fBCONFIG_CGROUP_NET_PRIO\fP )
|
|
||||||
This allows priorities to be specified, per network interface, for cgroups.
|
|
||||||
|
|
||||||
Further information can be found in the kernel source file
|
|
||||||
.IR Documentation/cgroup-v1/net_prio.txt .
|
|
||||||
.TP
|
|
||||||
.IR hugetlb " (since Linux 3.5; " \fBCONFIG_CGROUP_HUGETLB\fP )
|
|
||||||
This supports limiting the use of huge pages by cgroups.
|
|
||||||
|
|
||||||
Further information can be found in the kernel source file
|
|
||||||
.IR Documentation/cgroup-v1/hugetlb.txt .
|
|
||||||
.TP
|
|
||||||
.IR pids " (since Linux 4.3; " \fBCONFIG_CGROUP_PIDS\fP )
|
|
||||||
This controller permits limiting the number of process that may be created
|
|
||||||
in a cgroup (and its descendants).
|
|
||||||
|
|
||||||
Further information can be found in the kernel source file
|
|
||||||
.IR Documentation/cgroup-v1/pids.txt .
|
|
||||||
.\"
|
|
||||||
.SS Release notification
|
.SS Release notification
|
||||||
A special file in each cgroup hierarchy,
|
A special file in each cgroup hierarchy,
|
||||||
.IR release_agent ,
|
.IR release_agent ,
|
||||||
|
|
Loading…
Reference in New Issue