diff options
author | Tejun Heo <tj@kernel.org> | 2016-01-11 23:10:44 -0500 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2016-01-11 23:14:51 -0500 |
commit | 6255c46fa03798cbd8addd98929aff7eef86ae02 (patch) | |
tree | 2cbe12c980948cbd3264cf896c6146a3af09cf51 /Documentation/cgroup-v1/cpuacct.txt | |
parent | 2cfa2b191e56fd4c5c6ffb72e1d1e82ed225676d (diff) | |
download | op-kernel-dev-6255c46fa03798cbd8addd98929aff7eef86ae02.zip op-kernel-dev-6255c46fa03798cbd8addd98929aff7eef86ae02.tar.gz |
cgroup: rename cgroup documentations
cgroup-legacy may be too loaded. Rename the docs so that they're
postfixed with v1 and v2.
* s/cgroup-legacy/cgroup-v1/
* s/cgroup.txt/cgroup-v2.txt/
Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'Documentation/cgroup-v1/cpuacct.txt')
-rw-r--r-- | Documentation/cgroup-v1/cpuacct.txt | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/Documentation/cgroup-v1/cpuacct.txt b/Documentation/cgroup-v1/cpuacct.txt new file mode 100644 index 0000000..9d73cc0 --- /dev/null +++ b/Documentation/cgroup-v1/cpuacct.txt @@ -0,0 +1,49 @@ +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. + +# mount -t cgroup -ocpuacct none /sys/fs/cgroup + +With the above step, the initial or the parent accounting group becomes +visible at /sys/fs/cgroup. At bootup, this group includes all the tasks in +the system. /sys/fs/cgroup/tasks lists the tasks in this cgroup. +/sys/fs/cgroup/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 /sys/fs/cgroup. + +# cd /sys/fs/cgroup +# mkdir g1 +# echo $$ > g1/tasks + +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 +/sys/fs/cgroup/cpuacct.usage also. + +cpuacct.stat file lists a few statistics which further divide the +CPU time obtained by the cgroup into user and system times. Currently +the following statistics are supported: + +user: Time spent by tasks of the cgroup in user mode. +system: Time spent by tasks of the cgroup in kernel mode. + +user and system are in USER_HZ unit. + +cpuacct controller uses percpu_counter interface to collect user and +system times. This has two side effects: + +- It is theoretically possible to see wrong values for user and system times. + This is because percpu_counter_read() on 32bit systems isn't safe + against concurrent writes. +- It is possible to see slightly outdated values for user and system times + due to the batch processing nature of percpu_counter. |