[systemd-devel] MemoryCurrent property of the root slice is off

Lennart Poettering lennart at poettering.net
Mon Oct 29 14:37:22 UTC 2018


On Mo, 29.10.18 13:54, Umut Tezduyar Lindskog (umut at tezduyar.com) wrote:

> Hey,
> 
> How come the root slice's memory accounting is not matching (or close
> to) with what I see in the /sys/fs? Do we do some other special
> accounting?
> 
> systemctl 239 (default-hierarchy=hybrid)
> 
> a at b:memory$ pwd
> /sys/fs/cgroup/memory
> 
> a at b:memory$ systemctl show -p MemoryCurrent -- -.slice
> MemoryCurrent=6363947008
> a at b:memory$ cat memory.usage_in_bytes
> 5459550208
> 
> a at b:memory$ systemctl show -p MemoryCurrent system.slice
> MemoryCurrent=1540538368
> a at b:memory$ cat system.slice/memory.usage_in_bytes
> 1508548608

In current systemd we'll use the memory accounting exported in
/proc/meminfo for the root cgroup. That's because on cgroupsv2 memory
is not accounted in the root cgroup at all anymore, because the kernel
devs didn't want multiple "sources of truth" anymore. In order to
ensure behaviour is somewhat systematic we'll use that data on
cgroupsv1 too...

The difference in the accounting is probably because one accounts the
kernel itself while the other does not.

Lennart

-- 
Lennart Poettering, Red Hat


More information about the systemd-devel mailing list