Path: blob/master/Documentation/accounting/cgroupstats.txt
10821 views
Control Groupstats is inspired by the discussion at1http://lkml.org/lkml/2007/4/11/187 and implements per cgroup statistics as2suggested by Andrew Morton in http://lkml.org/lkml/2007/4/11/263.34Per cgroup statistics infrastructure re-uses code from the taskstats5interface. A new set of cgroup operations are registered with commands6and attributes specific to cgroups. It should be very easy to7extend per cgroup statistics, by adding members to the cgroupstats8structure.910The current model for cgroupstats is a pull, a push model (to post11statistics on interesting events), should be very easy to add. Currently12user space requests for statistics by passing the cgroup path.13Statistics about the state of all the tasks in the cgroup is returned to14user space.1516NOTE: We currently rely on delay accounting for extracting information17about tasks blocked on I/O. If CONFIG_TASK_DELAY_ACCT is disabled, this18information will not be available.1920To extract cgroup statistics a utility very similar to getdelays.c21has been developed, the sample output of the utility is shown below2223~/balbir/cgroupstats # ./getdelays -C "/sys/fs/cgroup/a"24sleeping 1, blocked 0, running 1, stopped 0, uninterruptible 025~/balbir/cgroupstats # ./getdelays -C "/sys/fs/cgroup"26sleeping 155, blocked 0, running 1, stopped 0, uninterruptible 2272829