manager.Stat() iterates over enabled controllers to construct statistics, namely for memory and CPU. If a controller is not enabled, the statistics are not provided.
However, regardless of whether the cpu controller is enabled, cgroups v2 always provides the following statistics in cpu.stat :
usage_usec
user_usec
system_usec
Systemd no longer enables this controller when the property CPUAccounting=True, meaning these statistics are not provided when they probably should be. Stat() should be modified to fix this.
manager.Stat()
iterates over enabled controllers to construct statistics, namely for memory and CPU. If a controller is not enabled, the statistics are not provided.https://github.com/containerd/cgroups/blob/0c03de4a3d82a5f02f455ccc8174cb0dc9c2a532/cgroup2/manager.go#L565-L575
However, regardless of whether the
cpu
controller is enabled, cgroups v2 always provides the following statistics incpu.stat
:usage_usec
user_usec
system_usec
Systemd no longer enables this controller when the property
CPUAccounting=True
, meaning these statistics are not provided when they probably should be.Stat()
should be modified to fix this.See https://docs.kernel.org/admin-guide/cgroup-v2.html#cpu-interface-files, systemd/systemd#10507