cgroup: Use and explain cpu.weight.

This commit is contained in:
tastytea 2021-07-21 23:34:47 +02:00
parent 16b72b03f7
commit 6537bdc0b9
Signed by: tastytea
GPG Key ID: CFC39497F1B26E07
1 changed files with 13 additions and 4 deletions

View File

@ -91,7 +91,7 @@ the power of 2 CPU cores.
echo "+cpu" > cgroup.subtree_control echo "+cpu" > cgroup.subtree_control
mkdir testgroup mkdir testgroup
cd testgroup cd testgroup
echo "10" > cpu.weight.nice echo "50" > cpu.weight
echo "200000 100000" > cpu.max echo "200000 100000" > cpu.max
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
@ -99,9 +99,14 @@ Try adding your current shell to the group with `echo "$$" > cgroup.procs`. All
processes you start from this shell are now in the same cgroup. But what does processes you start from this shell are now in the same cgroup. But what does
the example do, exactly? the example do, exactly?
- *cpu.weight.nice* works like the link:{url-nice}[nice] command (but it is not - *cpu.weight* is the relative amount of CPU cycles the cgroup is getting under
the same) and has a range from -20 to 19. It is an alternate interface to load. The CPU cycles are distributed by adding up the weights of all _active_
*cpu.weight* which has a range from 1 to 10,000. children and giving each the fraction matching the ratio of its weight against
the sum.footnote:[link:{url-kernel-doc}#weights[Kernel documentation on
Control Group v2, section “Resource Distribution Models” → “Weights”]] It has
a range from 1 to 10,000. If one process has a weight of 3,000 and the only
other active process has a weight of 7,000, the former will get 30% and the
latter 70% of CPU cycles. The default is 100.
- *cpu.max* sets the “maximum bandwidth limit”. We told the kernel that the - *cpu.max* sets the “maximum bandwidth limit”. We told the kernel that the
processes should use at most 200,000 µs every 100,000 µs, meaning they can use processes should use at most 200,000 µs every 100,000 µs, meaning they can use
the power of up to 2 cores. the power of up to 2 cores.
@ -115,6 +120,10 @@ You can add a cgroup column to link:{url-htop}[htop] by pressing kbd:[F2] and
then navigating to “Columns”. Select “CGROUP” in “Available Columns” and press then navigating to “Columns”. Select “CGROUP” in “Available Columns” and press
kbd:[Enter]. kbd:[Enter].
[TIP]
*cpu.weight.nice* is an alternate interface to *cpu.weight* that uses the same
values used by link:{url-nice}[nice] and has a range from -20 to 19.
=== Controlling CPU core usage === Controlling CPU core usage
This control group will use the cpuset controller to restrict the processes to This control group will use the cpuset controller to restrict the processes to