El uso de memoria informado en cgroup difiere del comando gratuito

El uso de memoria informado en cgroup difiere del comando gratuito

¿Por qué el comando gratuito informaría un número de uso de memoria muy diferente al de 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

La documentación para cgroups dice que Memory.usage_in_bytes es un "valor difuso". Supongo que eso simplemente significa que informa una estimación cercana al valor real. Incluso si es una estimación, no creo que deba estar tan lejos.

Estoy ejecutando Linux Mint 18.2 en una máquina virtual VirutalBox.

Respuesta1

memory.usage_in_bytese memory.max_usage_in_bytesinforme RSS+CACHE, por lo que en términos de su freesalida:

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

También te puede interesar /sys/fs/cgroup/memory/memory.stat, aunque todavía no pude encontrar/calcular el free.usedvalor de la /sys/fs/cgroup/memory/memory.statsalida.

información relacionada