Messages in this thread Patch in this message | | | Date | Tue, 20 May 2008 18:05:52 +0900 | From | KAMEZAWA Hiroyuki <> | Subject | [RFC][PATCH 1/3] memcg: documentation for controll file |
| |
Add a documentation for memory resource controller's files.
Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Index: mm-2.6.26-rc2-mm1/Documentation/controllers/memory_files.txt =================================================================== --- /dev/null +++ mm-2.6.26-rc2-mm1/Documentation/controllers/memory_files.txt @@ -0,0 +1,76 @@ +Files under memory resource controller and its resource counter. +(See controllers/memory.txt about memory resource controller) + +* memory.usage_in_bytes + (read) + Currently accounted memory usage under memory controller in bytes. + multiple of PAGE_SIZE. + + Even if there is no tasks under controller, some page caches and + swap caches are still accounted. (See memory.force_empty below.) + + (write) + no write operation + +* memory.limit_in_bytes + (read) + Current limit of usage to this memory resource controller in bytes. + (write) + Set limit to this memory resource controller. + A user can use "K', 'M', 'G' to specify the limit. + + (Example) You can set limit of 400M by following. + % echo 400M > /path to cgroup/memory.limit_in_bytes + +* memory.max_usage_in_bytes + (read) + Recorded maximum memory usage under this memory controller. + + (write) + Reset the record to 0. + + (example usage) + 1. create a cgroup + % mkdir /path_to_cgroup/my_cgroup. + + 2. enter the cgroup + % echo $$ > /path_to_cgroup/my_cgroup/tasks. + + 3. Run your program + % Run...... + + 4. See how much you used. + % cat /path_to_cgroup/my_cgroup/memory.max_usage_in_bytes. + + Now you know how much your application will use. Maybe this + can be a good to set limits_in_bytes to some proper value. + +* memory.force_empty + (read) + not allowed. + (write) + Drop all charges under cgroup. This can be called only when + there is no task under this cgroup. This is here for debug purpose. + +* memory.stat + (read) + show 6 values. (will change in future) + cache .... usage accounted as File-Cache. + anon/swapcache .... usage accounted as anonymous memory or swapcache. + pgpgin .... # of page-in under this cgroup. + pgpgout .... # of page-out under this cgroup + active .... amounts of memory which is treated as 'active' + inactive .... amounts of memory which is treated as 'inactive' + (write) + not allowed + +* memory.failcnt + (read) + The number of blocked memory allocation. + Until the usage reaches the limit, memory allocation is not blocked. + When it reaches, memory allocation is blocked and try to reclaim memory + from LRU. + + (write) + Reset to 0. +
| |