Provided by:
slurm-llnl_2.2.7-1_i386 
NAME
cgroup.conf - Slurm configuration file for the cgroup support
DESCRIPTION
/etc/cgroup.conf is an ASCII file which defines parameters used by
Slurm's proctrack/cgroup plugin in support of Linux cgroups being used
as a job container. The file will always be located in the same
directory as the slurm.conf file.
Parameter names are case insensitive. Any text following a "#" in the
configuration file is treated as a comment through the end of that
line. The size of each line in the file is limited to 1024 characters.
Changes to the configuration file take effect upon restart of SLURM
daemons, daemon receipt of the SIGHUP signal, or execution of the
command "scontrol reconfigure" unless otherwise noted.
Slurm cgroup proctrack plugin creates a hierarchical set of directories
for each step, putting the step tasks into the leaf. This directory
structure is like the following:
/dev/cgroup/slurm/uid_%uid/job_%jobid/step_%stepid
Slurm cgroup proctrack plugin can constrain cores, RAM and swap space
for jobs and set a variety of default job and job step parameters for
cgroups.
The configuration parameters available include:
AllowedRAMSpace=<number>
Constrain the job cgroup RAM to this percentage of the allocated
memory. The default value is 100. If the limit is exceeded,
the job steps will be killed and a warning message will be
written to standard error. Also see ConstrainRAMSpace.
AllowedSwapSpace=<number>
Constrain the job cgroup swap space to this percentage of the
allocated memory. The default value is 0. If the limit is
exceeded, the job steps will be killed and a warning message
will be written to standard error. Also see ConstrainSwapSpace.
CgroupAutomount=<yes|no>
Slurm cgroup plugins require a valid and functional cgroup
system mounted on /dev/cgroup. When launched, plugins check
cgroup availability. If cgroup is not available, the plugin
launch fails unless CgroupAutomount is set to yes. In that
case, the plugin will first try to mount the cgroup system.
CgroupMountOptions=<options>
Used to tune the cgroup system behavior.
CgroupReleaseAgent=<path_to_program>
Used to tune the cgroup system behavior.
ConstrainCores=<yes|no>
If configured to "yes" then constrain allowed cores to the
subset of allocated resources. The default value is "no".
ConstrainRAMSpace=<yes|no>
If configured to "yes" then constraing the job's RAM usage. The
default value is "no". Also see AllowedRAMSpace.
ConstrainSwapSpace=<yes|no>
If configured to "yes" then constraing the job's swap space
usage. The default value is "no". Also see AllowedSwapSpace.
JobCgroupParams=<options>
Used to tune job cgroup. The format of the parameter is the
following: "a=b c=d e=f" where a,c,d corresponds to files under
the cgroup directory and b,d,f the values to write in these
files.
JobStepCgroupParams=<options>
Used to tune job step cgroup. The format of the parameter is the
following: "a=b c=d e=f" where a,c,d corresponds to files under
the cgroup directory and b,d,f the values to write in these
files.
EXAMPLE
###
# Slurm cgroup support configuration file
###
CgroupAutomount=yes
CgroupMountOptions="memory,cpuset"
CgroupReleaseAgent="/etc/slurm/cgroup.release_agent"
JobCgroupParams="memory.swappiness=30"
JobStepCgroupParams=""
#
# Constrain RAM at 100% of allocation and
# Total space (RAM + swap) at 110% of allocation
#
ConstrainRAMSpace=yes
AllowedRAMSpace=100
ConstrainSwapSpace=yes
AllowedSwapSpace=10
ConstrainCores=yes
NOTES
Proctrack/cgroup is not compatible with the task/affinity plugin
configured to use cpusets, although this may be addressed in the
future.
Only one instance of a cgroup subsystem is valid at a time in the
kernel. If you try to mount another cgroup hierarchy that uses the
same cpuset subsystem it will fail. However you can mount another
cgroup hierarchy for a different cpuset subsystem.
COPYING
Copyright (C) 2010 Lawrence Livermore National Security. Produced at
Lawrence Livermore National Laboratory (cf, DISCLAIMER).
CODE-OCEC-09-009. All rights reserved.
This file is part of SLURM, a resource management program. For
details, see <https://computing.llnl.gov/linux/slurm/>.
SLURM is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation; either version 2 of the License, or (at your
option) any later version.
SLURM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
SEE ALSO
slurm.conf(5)