O uso de memória relatado em cgroup difere do comando free

O uso de memória relatado em cgroup difere do comando free

Por que o comando free reportaria um número de uso de memória muito diferente do 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

A documentação do cgroups diz que memory.usage_in_bytes é um "valor fuzz". Suponho que isso significa apenas que relata uma estimativa próxima do valor real. Mesmo que seja uma estimativa, não acho que deva estar tão longe.

Estou executando o Linux Mint 18.2 em uma VM VirutalBox.

Responder1

memory.usage_in_bytese memory.max_usage_in_bytesreporte RSS+CACHE, então em termos de sua freesaída:

memory.usage_in_bytes ~= free.used + free.(buff/cache) - (buff)

Você também pode estar interessado em /sys/fs/cgroup/memory/memory.stat, embora eu ainda não tenha conseguido encontrar/calcular o free.usedvalor da /sys/fs/cgroup/memory/memory.statsaída.

informação relacionada