Назад | Перейти на главную страницу

Использование памяти, указанное в cgroup, отличается от команды free

Почему бесплатная команда должна сообщать о сильно разном количестве использования памяти по сравнению с 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 вывод.