lkml.org 
[lkml]   [2012]   [May]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] meminfo: show /proc/meminfo base on container's memcg
On Tue, 29 May 2012, Gao feng wrote:

> cgroup and namespaces are used for creating containers but some of
> information is not isolated/virtualized. This patch is for isolating /proc/meminfo
> information per container, which uses memory cgroup. By this, top,free
> and other tools under container can work as expected(show container's
> usage) without changes.
>
> This patch is a trial to show memcg's info in /proc/meminfo if 'current'
> is under a memcg other than root.
>
> we show /proc/meminfo base on container's memory cgroup.
> because there are lots of info can't be provide by memcg, and
> the cmds such as top, free just use some entries of /proc/meminfo,
> we replace those entries by memory cgroup.
>
> if container has no memcg, we will show host's /proc/meminfo
> as before.
>
> there is no idea how to deal with Buffers,I just set it zero,
> It's strange if Buffers bigger than MemTotal.
>
> Signed-off-by: Gao feng <gaofeng@cn.fujitsu.com>

Nack, this type of thing was initially tried with cpusets when a thread
was bound to a subset of nodes, i.e. only show the total amount of memory
spanned by those nodes.

For your particular interest, this information is already available
elsewhere: memory.limit_in_bytes and memory.usage_in_bytes and that should
be the interface where this is attained via /proc/cgroups.

Why? Because the information exported by /proc/meminfo is considered by
applications to be static whereas the limit of a memcg may change without
any knowledge of the application. Applications which need to know the
amount of memory they are constrained to are assuming that there are no
other consumers of memory on the system and thus they should be written to
understand memcg limits just like they should understand cpusets (through
either /proc/cgroups or /proc/cpuset).


\
 
 \ /
  Last update: 2012-05-31 00:41    [W:0.266 / U:0.060 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site