Messages in this thread | | | Date | Fri, 25 May 2012 13:58:15 +0900 | From | Kamezawa Hiroyuki <> | Subject | Re: About cgroup memory limits |
| |
(2012/05/25 13:16), Zhu Yanhai wrote: > 2012/5/10 KAMEZAWA Hiroyuki<kamezawa.hiroyu@jp.fujitsu.com>: >> (2012/05/10 3:37), Andre Nathan wrote: >> >>> Hello >>> >>> I'm doing some tests with LXC and how it interacts with the memory >>> cgroup limits, more specifically the memory.limit_in_bytes control file. >>> >>> Am I correct in my understanding of the memory cgroup documentation[1] >>> that the limit set in memory.limit_in_bytes is applied to the sum of the >>> fields 'cache', 'rss' and 'mapped_file' in the memory.stat file? >>> >> >> cache includes mapped_file. Then, > > Excuse me, but it does read: > > switch (ctype) { > case MEM_CGROUP_CHARGE_TYPE_CACHE: > case MEM_CGROUP_CHARGE_TYPE_SHMEM: > SetPageCgroupCache(pc); > SetPageCgroupUsed(pc); > break; > case MEM_CGROUP_CHARGE_TYPE_MAPPED: > ClearPageCgroupCache(pc); > SetPageCgroupUsed(pc); > break; > default: > break; > } > mem_cgroup_charge_statistics(mem, pc, page_size); > > And then, in mem_cgroup_charge_statistics() we have : > > if (PageCgroupCache(pc)) > __mem_cgroup_stat_add_safe(cpustat, > MEM_CGROUP_STAT_CACHE, numpages); > else > __mem_cgroup_stat_add_safe(cpustat, MEM_CGROUP_STAT_RSS, > numpages); > > So it seems that rss includes mapped_file, not cache? > Why you think so ? mapped_file is mapped file cache. All file caches are accountned as STAT_CACHE.
TYPE_MAPPDED doesn't mean mapped_file. In above, TYPE_MAPPED is called via anonymous page fault. It represents anonymous page, counted as RSS. I wonder it may be better to rename these macros.
Thanks, -Kame
| |