容器通过cgroup来限制其内存使用量。
在容器的cgroup下,memory.limit_in_bytes限制了容器能够使用的内存上限,memory.usage_in_bytes限制了容器的当前内存使用量。
但是需要特别注意memory.usage_in_bytes记录的内存包括了两部分,进程实际占用的物理内存RSS,以及Page Cache。Page Cache在内存不足的情况可以释放掉,所以在统计容器真正使用的内存的时需要去掉Page Cache,只用RSS。
即容器的实际使用内存使用cgroup下的memory.stat里的RSS值。