lkml.org 
[lkml]   [2008]   [May]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
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.
+


\
 
 \ /
  Last update: 2008-05-20 11:03    [W:0.204 / U:0.112 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site