From Fedora Project Wiki

Revision as of 08:04, 20 January 2009 by Jhutar (talk | contribs)

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

Current status

  • Targeted release:
  • Last updated: 2009-01-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

How To Test

For now there is necessary to have a kernel which includes cgroups feature (Documentation/cgroups.txt) and libcgroups package

the procedure how to start cgconfig service:

  • create /etc/cgconfig.conf configuration file (the example is in /samples section) (initscript from 0.32.2 is able to create the mount point itself and to mount the filesystem to)
  • 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 when cgconfig is running and try to restart it - the result is bunch of error messages