Discussion:
[systemd-devel] MemoryCurrent property of the root slice is off
Umut Tezduyar Lindskog
2018-10-29 12:54:06 UTC
Permalink
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)

***@b:memory$ pwd
/sys/fs/cgroup/memory

***@b:memory$ systemctl show -p MemoryCurrent -- -.slice
MemoryCurrent=6363947008
***@b:memory$ cat memory.usage_in_bytes
5459550208

***@b:memory$ systemctl show -p MemoryCurrent system.slice
MemoryCurrent=1540538368
***@b:memory$ cat system.slice/memory.usage_in_bytes
1508548608
Lennart Poettering
2018-10-29 14:37:22 UTC
Permalink
Post by Umut Tezduyar Lindskog
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)
/sys/fs/cgroup/memory
MemoryCurrent=6363947008
5459550208
MemoryCurrent=1540538368
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
Loading...