[PATCH -mmotm 1/3] memcg: dirty memory documentation
From: Andrea Righi
Date: Mon Mar 01 2010 - 16:24:19 EST
Document cgroup dirty memory interfaces and statistics.
Signed-off-by: Andrea Righi <arighi@xxxxxxxxxxx>
Documentation/cgroups/memory.txt | 36 ++++++++++++++++++++++++++++++++++++
1 files changed, 36 insertions(+), 0 deletions(-)
diff --git a/Documentation/cgroups/memory.txt b/Documentation/cgroups/memory.txt
index aad7d05..878afa7 100644
@@ -308,6 +308,11 @@ cache - # of bytes of page cache memory.
rss - # of bytes of anonymous and swap cache memory.
pgpgin - # of pages paged in (equivalent to # of charging events).
pgpgout - # of pages paged out (equivalent to # of uncharging events).
+filedirty - # of pages that are waiting to get written back to the disk.
+writeback - # of pages that are actively being written back to the disk.
+writeback_tmp - # of pages used by FUSE for temporary writeback buffers.
+nfs - # of NFS pages sent to the server, but not yet committed to
+ the actual storage.
active_anon - # of bytes of anonymous and swap cache memory on active
inactive_anon - # of bytes of anonymous memory and swap cache memory on
@@ -343,6 +348,37 @@ Note:
- a cgroup which uses hierarchy and it has child cgroup.
- a cgroup which uses hierarchy and not the root of hierarchy.
+5.4 dirty memory
+ Control the maximum amount of dirty pages a cgroup can have at any given time.
+ Limiting dirty memory is like fixing the max amount of dirty (hard to
+ reclaim) page cache used by any cgroup. So, in case of multiple cgroup writers,
+ they will not be able to consume more than their designated share of dirty
+ pages and will be forced to perform write-out if they cross that limit.
+ The interface is equivalent to the procfs interface: /proc/sys/vm/dirty_*.
+ It is possible to configure a limit to trigger both a direct writeback or a
+ background writeback performed by per-bdi flusher threads.
+ Per-cgroup dirty limits can be set using the following files in the cgroupfs:
+ - memory.dirty_ratio: contains, as a percentage of cgroup memory, the
+ amount of dirty memory at which a process which is generating disk writes
+ inside the cgroup will start itself writing out dirty data.
+ - memory.dirty_bytes: the amount of dirty memory of the cgroup (expressed in
+ bytes) at which a process generating disk writes will start itself writing
+ out dirty data.
+ - memory.dirty_background_ratio: contains, as a percentage of the cgroup
+ memory, the amount of dirty memory at which background writeback kernel
+ threads will start writing out dirty data.
+ - memory.dirty_background_bytes: the amount of dirty memory of the cgroup (in
+ bytes) at which background writeback kernel threads will start writing out
+ dirty data.
6. Hierarchy support
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/