On Mon, 28 Mar 2011 09:43:42 +0200 Michal Hocko <mhocko@xxxxxxx> wrote: > On Mon 28-03-11 13:25:50, Daisuke Nishimura wrote: > > From: Daisuke Nishimura <nishimura@xxxxxxxxxxxxxxxxx> > > > > Update the meaning of *.usage_in_bytes. They doesn't show the actual usage of > > RSS+Cache(+Swap). They show the res_counter->usage for memory and memory+swap. > > Don't we want to add why this is not rss+cache? The reason is really non > trivial for somebody who is not familiar with the code and with the fact > that we are heavily caching charges. > > > > > Signed-off-by: Daisuke Nishimura <nishimura@xxxxxxxxxxxxxxxxx> > > --- > > Documentation/cgroups/memory.txt | 16 ++++++++++++++-- > > 1 files changed, 14 insertions(+), 2 deletions(-) > > > > diff --git a/Documentation/cgroups/memory.txt b/Documentation/cgroups/memory.txt > > index 7781857..ab7d4c1 100644 > > --- a/Documentation/cgroups/memory.txt > > +++ b/Documentation/cgroups/memory.txt > > @@ -52,8 +52,10 @@ Brief summary of control files. > > tasks # attach a task(thread) and show list of threads > > cgroup.procs # show list of processes > > cgroup.event_control # an interface for event_fd() > > - memory.usage_in_bytes # show current memory(RSS+Cache) usage. > > - memory.memsw.usage_in_bytes # show current memory+Swap usage > > + memory.usage_in_bytes # show current res_counter usage for memory > > + (See 5.5 for details) > > + memory.memsw.usage_in_bytes # show current res_counter usage for memory+Swap > > + (See 5.5 for details) > > memory.limit_in_bytes # set/show limit of memory usage > > memory.memsw.limit_in_bytes # set/show limit of memory+Swap usage > > memory.failcnt # show the number of memory usage hits limits > > @@ -453,6 +455,16 @@ memory under it will be reclaimed. > > You can reset failcnt by writing 0 to failcnt file. > > # echo 0 > .../memory.failcnt > > > > +5.5 usage_in_bytes > > + > > +As described in 2.1, memory cgroup uses res_counter for tracking and limiting > > +the memory usage. memory.usage_in_bytes shows the current res_counter usage for > > +memory, and DOESN'T show a actual usage of RSS and Cache. It is usually bigger > > +than the actual usage for a performance improvement reason. > > Isn't an explicit mention about caching charges better? > It's difficult to distinguish which is spec. and which is implemnation details... My one here ;) == 5.5 usage_in_bytes For efficiency, as other kernel components, memory cgroup uses some optimization to avoid unnecessary cacheline false sharing. usage_in_bytes is affected by the method and doesn't show 'exact' value of usage, it's an fuzz value for efficient access. (Of course, when necessary, it's synchronized.) In usual, the value (RSS+CACHE) in memory.stat shows more exact value. IOW, usage_in_bytes is less exact than memory.stat. The error will be larger on the larger hardwares which have many cpus and tasks. == Hmm ? Thanks, -Kame -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>