blob: 998333082892dce1f094dcdaed8aac316fd2570b [file] [log] [blame] [edit]
.TH "cgroup.conf" "5" "February 2010" "cgroup.conf 2.2" "Slurm configuration file"
.SH "NAME"
cgroup.conf \- Slurm configuration file for the cgroup support
.SH "DESCRIPTION"
\fB/etc/cgroup.conf\fP 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
\fBslurm.conf\fP file.
.LP
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.
.LP
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:
.br
/dev/cgroup/slurm/uid_%uid/job_%jobid/step_%stepid
.LP
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.
.LP
The configuration parameters available include:
.TP
\fBAllowedRAMSpace\fR=<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 \fBConstrainRAMSpace\fR.
.TP
\fBAllowedSwapSpace\fR=<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 \fBConstrainSwapSpace\fR.
.TP
\fBCgroupAutomount\fR=<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.
.TP
\fBCgroupMountOptions\fR=<options>
Used to tune the cgroup system behavior.
.TP
\fBCgroupReleaseAgent\fR=<path_to_program>
Used to tune the cgroup system behavior.
.TP
\fBConstrainCores\fR=<yes|no>
If configured to "yes" then constrain allowed cores to the subset of
allocated resources.
The default value is "no".
.TP
\fBConstrainRAMSpace\fR=<yes|no>
If configured to "yes" then constraing the job's RAM usage.
The default value is "no".
Also see \fBAllowedRAMSpace\fR.
.TP
\fBConstrainSwapSpace\fR=<yes|no>
If configured to "yes" then constraing the job's swap space usage.
The default value is "no".
Also see \fBAllowedSwapSpace\fR.
.TP
\fBJobCgroupParams\fR=<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.
.TP
\fBJobStepCgroupParams\fR=<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.
.SH "EXAMPLE"
.LP
.br
###
.br
# Slurm cgroup support configuration file
.br
###
.br
CgroupAutomount=yes
.br
CgroupMountOptions="memory,cpuset"
.br
CgroupReleaseAgent="/etc/slurm/cgroup.release_agent"
.br
JobCgroupParams="memory.swappiness=30"
.br
JobStepCgroupParams=""
.br
#
.br
# Constrain RAM at 100% of allocation and
.br
# Total space (RAM + swap) at 110% of allocation
.br
#
.br
ConstrainRAMSpace=yes
.br
AllowedRAMSpace=100
.br
ConstrainSwapSpace=yes
.br
AllowedSwapSpace=10
.br
ConstrainCores=yes
.SH "NOTES"
Proctrack/cgroup is not compatible with the task/affinity plugin configured
to use cpusets, although this may be addressed in the future.
.LP
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.
.SH "COPYING"
Copyright (C) 2010 Lawrence Livermore National Security.
Produced at Lawrence Livermore National Laboratory (cf, DISCLAIMER).
CODE\-OCEC\-09\-009. All rights reserved.
.LP
This file is part of SLURM, a resource management program.
For details, see <https://computing.llnl.gov/linux/slurm/>.
.LP
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.
.LP
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.
.SH "SEE ALSO"
.LP
\fBslurm.conf\fR(5)