Warum sollte der Befehl „Free“ einen deutlich anderen Speichernutzungswert melden als die Cgroup?
$ free -b
total used free shared buff/cache available
Mem: 2096914432 520863744 1112170496 35389440 463880192 1356828672
Swap: 2145382400 0 2145382400
$ cat /sys/fs/cgroup/memory/memory.usage_in_bytes
857239552
In der Dokumentation für cgroups heißt es, dass memory.usage_in_bytes ein „Fuzzy-Wert“ ist. Ich vermute, das bedeutet nur, dass eine Schätzung gemeldet wird, die nahe am tatsächlichen Wert liegt. Selbst wenn es eine Schätzung ist, sollte sie meiner Meinung nach nicht so weit davon entfernt sein.
Ich verwende Linux Mint 18.2 in einer VirtualBox-VM.
Antwort1
memory.usage_in_bytes
und memory.max_usage_in_bytes
melden Sie RSS+CACHE, also in Bezug auf Ihre free
Ausgabe:
memory.usage_in_bytes ~= free.used + free.(buff/cache) - (buff)
Möglicherweise interessiert Sie auch , obwohl ich den Wert in der Ausgabe /sys/fs/cgroup/memory/memory.stat
immer noch nicht finden/berechnen konnte .free.used
/sys/fs/cgroup/memory/memory.stat