|
@@ -0,0 +1,32 @@
|
|
|
+CPU Accounting Controller
|
|
|
+-------------------------
|
|
|
+
|
|
|
+The CPU accounting controller is used to group tasks using cgroups and
|
|
|
+account the CPU usage of these groups of tasks.
|
|
|
+
|
|
|
+The CPU accounting controller supports multi-hierarchy groups. An accounting
|
|
|
+group accumulates the CPU usage of all of its child groups and the tasks
|
|
|
+directly present in its group.
|
|
|
+
|
|
|
+Accounting groups can be created by first mounting the cgroup filesystem.
|
|
|
+
|
|
|
+# mkdir /cgroups
|
|
|
+# mount -t cgroup -ocpuacct none /cgroups
|
|
|
+
|
|
|
+With the above step, the initial or the parent accounting group
|
|
|
+becomes visible at /cgroups. At bootup, this group includes all the
|
|
|
+tasks in the system. /cgroups/tasks lists the tasks in this cgroup.
|
|
|
+/cgroups/cpuacct.usage gives the CPU time (in nanoseconds) obtained by
|
|
|
+this group which is essentially the CPU time obtained by all the tasks
|
|
|
+in the system.
|
|
|
+
|
|
|
+New accounting groups can be created under the parent group /cgroups.
|
|
|
+
|
|
|
+# cd /cgroups
|
|
|
+# mkdir g1
|
|
|
+# echo $$ > g1
|
|
|
+
|
|
|
+The above steps create a new group g1 and move the current shell
|
|
|
+process (bash) into it. CPU time consumed by this bash and its children
|
|
|
+can be obtained from g1/cpuacct.usage and the same is accumulated in
|
|
|
+/cgroups/cpuacct.usage also.
|