Freeコマンドがcgroupと比べてmemの使用数が大きく異なるのはなぜですか?
$ 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は「ファズ値」です。私はそれが実際の値に近い推定値を報告することを意味していると思います。見積もりですが、これほど遠いはずではありません。
VirutalBox VMでLinux Mint 18.2を実行しています。
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
にも興味があるかもしれません。