[RFC][PATCH 1/3] memcg: documentation for controll file

From: KAMEZAWA Hiroyuki
Date: Tue May 20 2008 - 05:00:40 EST



Add a documentation for memory resource controller's files.

Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx>


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.
+

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/