Package: cgroup-utils
What is cgroup-utils?cgroup-utils provides utility tools and libraries for control groups of
Linux. For example, cgutil top is a top-like tool which shows activities
of running processes in control groups.InstallationFor users$ sudo pip install cgroup-utilsFor developers$ git clone git://github.com/peo3/cgroup-utils.git
$ cd cgroup-utils
$ python setup.py build
$ sudo python setup.py installPackaging (rpm)$ python setup.py bdist --formats=rpmAvailable commandsconfigseventmkdirpgreprmdirstatstoptreecgutil configsThis command show you configurations of cgroups. By default, it shows
only changed configurations.Example output$ cgutil configs -o memory
<root>
    notify_on_release=1
    release_agent=/usr/lib/ulatencyd/ulatencyd_cleanup.lua
sys_essential
    swappiness=0
    notify_on_release=1
sys_bg
    swappiness=100
    notify_on_release=1cgutil eventThis command makes cgroup.event_control easy to use. It exits when a
state of a target cgroup crosses a threshold which you set, thus, you
can know the state of the cgroup has changed.Example output$ cgutil event /sys/fs/cgroup/memory/system/sshd.service/memory.usage_in_bytes +1M
$ # It exits when memory usage of processes in the cgroup has increased one more MB.cgutil pgrepThis command is alikepgrepcommand but it shows cgroups in addtion
to PIDs.Example output$ cgutil pgrep ssh
/: 15072
/: 15074
/system/sshd.service: 630
$ cgutil pgrep ssh -l -f
/: 15072 sshd: ozaki-r [priv]
/: 15074 sshd: ozaki-r@pts/2
/: 15157 /bin/python /bin/cgutil pgrep ssh -l -f
/system/sshd.service: 630 /usr/sbin/sshd -Dcgutil statsThis command shows you states of cgroups.Example output$ cgutil stats
<root>
        stat={'throttled_time': 0L, 'nr_periods': 0L, 'nr_throttled': 0L}
system
        stat={'throttled_time': 0L, 'nr_periods': 0L, 'nr_throttled': 0L}
system/sm-client.service
        stat={'throttled_time': 0L, 'nr_periods': 0L, 'nr_throttled': 0L}
system/sendmail.service
        stat={'throttled_time': 0L, 'nr_periods': 0L, 'nr_throttled': 0L}
system/vboxadd-service.service
        stat={'throttled_time': 0L, 'nr_periods': 0L, 'nr_throttled': 0L}
system/colord.service
        stat={'throttled_time': 0L, 'nr_periods': 0L, 'nr_throttled': 0L}
system/colord-sane.service
        stat={'throttled_time': 0L, 'nr_periods': 0L, 'nr_throttled': 0L}
system/udisks2.service
        stat={'throttled_time': 0L, 'nr_periods': 0L, 'nr_throttled': 0L}
system/cups.service
        stat={'throttled_time': 0L, 'nr_periods': 0L, 'nr_throttled': 0L}cgutil topThis command is aliketopcommand but it shows activities in a unit
of cgroups.Example output$ cgutil top -i -n 2 -b
18.1 msec to collect statistics
[  CPUACCT  ]  [     BLKIO     ]  [        MEMORY       ]
 USR    SYS      READ    WRITE     TOTAL    RSS     SWAP     # NAME
  0.0%   0.0%    0.0 /s   0.0 /s     0.0    48.0k    0.0    97 usr_1000/default
20.5 msec to collect statistics
[  CPUACCT  ]  [     BLKIO     ]  [        MEMORY       ]
 USR    SYS      READ    WRITE     TOTAL    RSS     SWAP     # NAME
  0.0%   0.0%    0.0 /s   0.0 /s   128.0k    4.0k    0.0   104 sys_daemon
  0.0%   0.0%    0.0 /s   0.0 /s   -64.0k    0.0     0.0     0 sys_essential
  0.0%   0.0%    0.0 /s   0.0 /s   108.0k   32.0k    0.0    97 usr_1000/defaultcgutil treeThis command shows you tree structure of cgroups.Example outputs$ cgutil tree -o blkio
<root>
   `system
       +sm-client.service
       +sendmail.service
       +vboxadd-service.service
       +colord.service
       +colord-sane.service
       +udisks2.service
       +cups.service
       +rtkit-daemon.service

(snip)

       +fsck@.service
       +udev.service
       `systemd-journald.serviceSupported Linux Version4.20.ySupported subsystemsblkio (and its debug feature)cpusetcpu and cpuacctdevicesfreezerhugetlbmemorynet_clsnet_priopidsrdmaSupported Pythonpython2: 2.6 and abovedeprecatedpython3: 3.4 and above3.0 to 3.3 may work but not testedLicenseThe tools are distributed under GPLv2. See COPYING for more detail.Changelog0.8Tweak cgutil top for recent environmentsUse GitHub Actions as CI0.7Support PID and RDMA subsystemsSupport new control filesMark python2 deprecated0.6Support new control files added between Linux 3.9 and 3.18Support Python 3Drop Python 2.5 supportFix several bugs. Thanks lebauce and pavel-odintsov!0.5Support hugetlb subsystemSupport additional cgroup files of blkio, memory and freezerUse argparse instead of optparseFix several bugs. Thanks novas0x2a and unicell!0.4Add unit tests for control file parsers and a test for PEP8
complianceSupport dynamic cgroups hierarchy update for top commandSupport missing net_prio subsystemComplete event_control supports in event commandImplement mkdir/rmdir commandsFix a bunch of bugs