From Fedora Project Wiki

Feature Name

ControlGroups

Summary

Improve the existing tools where necessary and feasible and/or to create new ones e.g. to create or modify persistent cgroups configuration (using libcgroups package).

Owner

  • Nils Philippsen
  • Ivana Varekova

Current status

  • Targeted release:
  • Last updated: 2009-1-19
  • Percentage of completion: 0%

Detailed Description

Since kernel 2.6.24, Linux has so called control groups as a means to partition available resources between running processes. Libcgroups makes that functionality available to programmers and contains two tools, cgexec and cgclassify, to start processes in a control group or move existing processes from one control group to another.

Our goals are to improve the existing tools where necessary and feasible and/or to create new ones e.g. to create or modify persistent cgroups configuration. At the beginning the focus will be on command line tools, but we'll keep in mind that in the long term we'll likely want to have graphical tools. These would offer similar functionality and we should try to make sure that any non-UI code written is usable from both kinds of frontends.

Benefit to Fedora

Libcgroups handles the new kernel features which are able to restrict the sources for tasks. This project should help the user to make the best of this feature.

Scope

in proces now

the procedure how to start cgconfig service:

  • create /etc/cgconfig.conf configuration file (the example is in /samples section)

( from 0.32.2 initscript is able to create the mount point itself and to mount the filesystem too

  • for each mount point create the relevant directory and mount it (type of mount is cgroup so line "cgroup <mount-point> cgroup defaults 0 0" or command mount -t cgroup cgroup <mount-point>) (see scripts/doc/howto.txt - there is mentioned the script could mount it but I can't reproduce it - seems to be initscript problem) )
  • then you can start the service (stop of this service umount the directory and remove it)

Problems (in 0.32.2)

  • test example of cgconfig.conf from scripts/doc/howto.txt does not work
  • if I change /etc/cgconfig.conf during when cgconfig is running and try to restart it - the result is bunch of error messages