1 ================== 1 ================== 2 Control Groupstats 2 Control Groupstats 3 ================== 3 ================== 4 4 5 Control Groupstats is inspired by the discussi 5 Control Groupstats is inspired by the discussion at 6 https://lore.kernel.org/r/461CF883.2030308@sw. !! 6 http://lkml.org/lkml/2007/4/11/187 and implements per cgroup statistics as 7 suggested by Andrew Morton in https://lore.ker !! 7 suggested by Andrew Morton in http://lkml.org/lkml/2007/4/11/263. 8 8 9 Per cgroup statistics infrastructure re-uses c 9 Per cgroup statistics infrastructure re-uses code from the taskstats 10 interface. A new set of cgroup operations are 10 interface. A new set of cgroup operations are registered with commands 11 and attributes specific to cgroups. It should 11 and attributes specific to cgroups. It should be very easy to 12 extend per cgroup statistics, by adding member 12 extend per cgroup statistics, by adding members to the cgroupstats 13 structure. 13 structure. 14 14 15 The current model for cgroupstats is a pull, a 15 The current model for cgroupstats is a pull, a push model (to post 16 statistics on interesting events), should be v 16 statistics on interesting events), should be very easy to add. Currently 17 user space requests for statistics by passing 17 user space requests for statistics by passing the cgroup path. 18 Statistics about the state of all the tasks in 18 Statistics about the state of all the tasks in the cgroup is returned to 19 user space. 19 user space. 20 20 21 NOTE: We currently rely on delay accounting fo 21 NOTE: We currently rely on delay accounting for extracting information 22 about tasks blocked on I/O. If CONFIG_TASK_DEL 22 about tasks blocked on I/O. If CONFIG_TASK_DELAY_ACCT is disabled, this 23 information will not be available. 23 information will not be available. 24 24 25 To extract cgroup statistics a utility very si 25 To extract cgroup statistics a utility very similar to getdelays.c 26 has been developed, the sample output of the u 26 has been developed, the sample output of the utility is shown below:: 27 27 28 ~/balbir/cgroupstats # ./getdelays -C "/sys 28 ~/balbir/cgroupstats # ./getdelays -C "/sys/fs/cgroup/a" 29 sleeping 1, blocked 0, running 1, stopped 0, 29 sleeping 1, blocked 0, running 1, stopped 0, uninterruptible 0 30 ~/balbir/cgroupstats # ./getdelays -C "/sys 30 ~/balbir/cgroupstats # ./getdelays -C "/sys/fs/cgroup" 31 sleeping 155, blocked 0, running 1, stopped 31 sleeping 155, blocked 0, running 1, stopped 0, uninterruptible 2
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.