bionic (5) cgrules.conf.5.gz

Provided by: cgroup-tools_0.41-8ubuntu2_amd64 bug

NAME

       cgrules.conf - libcgroup configuration file

DESCRIPTION

       cgrules.conf  configuration  file  is  used  by  libcgroups  to  define control groups to which a process
       belongs.

       The file contains a list of rules which assign to a defined group/user a control group in a subsystem (or
       control groups in subsystems).

       Rules have two formats:

           <user>                   <controllers>       <destination>
           <user>:<process name>    <controllers>       <destination>

       Where:

       user can be:
           - a user name
           - a group name with @group syntax
           - the wildcard '*', for any user or group
           - '%', which is equivalent to "ditto" (useful for
             multi-line rules where different cgroups need to be
             specified for various hierarchies for a single user)

       process name is optional and it can be:
           - a process name
           - a full command path of a process

       controllers can be:
           - comma separated controller names (no spaces) or
           - * (for all mounted controllers)

       destination can be:
           - path relative to the controller hierarchy (ex. pgrp1/gid1/uid1)
           - following strings called "templates" and will get expanded

                 %u     uid
                 %U     username, uid if name resolving fails
                 %g     gid
                 %G     group name, gid if name resolving fails
                 %p     pid
                 %P     process name, pid if name not available

                 '\' can be used to escape '%'
       First rule which matches the criteria will be executed.

       Any text starting with '#' is considered as a start of comment line and is ignored.

       If  the  destination contains template string, the control group can be created on-fly. In time when some
       process wants to use the template rule which leads to control group (see  cgexec  (1))  and  the  control
       group  does  not  exist,  the group is created. The template control group parameters can be specified in
       cgconfig.conf configuration file. See (cgconfig.conf (5)).  If the template definition is not found there
       created group have default kernel setting.

EXAMPLES

       student         devices         /usergroup/students
       Student's processes in the 'devices' subsystem belong to the control group /usergroup/students.

       student:cp       devices         /usergroup/students/cp
       When  student executes 'cp' command, the processes in the 'devices' subsystem belong to the control group
       /usergroup/students/cp.

       @admin           *              admingroup/
       Processes started by anybody from admin group no matter in what subsystem belong  to  the  control  group
       admingroup/.

       peter           cpu             test1/
       %               memory          test2/
       The  first  line says Peter's task for cpu controller belongs to test1 control group. The second one says
       Peter's tasks for memory controller belong to test2/ control group.

       *               *               default/
       All processes in any subsystem belong to the control group default/. Since the earliest matched  rule  is
       applied,  it  makes  sense  to  have  this  line at the end of the list. It will put a task which was not
       mentioned in the previous rules to default/ control group.

       @students cpu,cpuacct    students/%u
       Processes in cpu and  cpuacct  subsystems  started  by  anybody  from  students  group  belong  to  group
       students/name. Where "name" is user name of owner of the process.

FILES

       /etc/cgrules.conf
       default libcgroup configuration file

SEE ALSO

       cgconfig.conf (5), cgclassify (1), cgred.conf (5)

BUGS