Почему бесплатная команда должна сообщать о сильно разном количестве использования памяти по сравнению с 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
В документации для cgroups сказано, что memory.usage_in_bytes - это "нечеткое значение". Я предполагаю, что это просто означает, что он сообщает оценку, близкую к фактическому значению. Даже если это приблизительная оценка, я не думаю, что это должно быть так далеко.
Я запускаю Linux Mint 18.2 на виртуальной машине VirutalBox.
memory.usage_in_bytes
и memory.max_usage_in_bytes
сообщить RSS + CACHE, так что с точки зрения вашего free
вывод:
memory.usage_in_bytes ~= free.used + free.(buff/cache) - (buff)
Вас также может заинтересовать /sys/fs/cgroup/memory/memory.stat
, хотя я все еще не мог найти / вычислить free.used
значение от /sys/fs/cgroup/memory/memory.stat
вывод.