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를 실행하고 있습니다.
답변1
memory.usage_in_bytes
RSS+CACHE를 보고 하므로 출력 memory.max_usage_in_bytes
측면에서 다음과 같습니다 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