Linux

cgroup 中報告的記憶體使用情況與 free 命令不同

  • March 17, 2018

為什麼 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_bytesmemory.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

引用自:https://serverfault.com/questions/902009