SCONTROL(1)

NAME
scontrol - Used view and modify Slurm configuration and state.

SYNOPSIS
scontrol [OPTIONS...] [COMMAND...]

DESCRIPTION
scontrol is used to view or modify Slurm configuration including: job, job step, node, partition, and overall system configuration. Most of the commands can only be executed by user root. If an attempt to view or modify configuration information is made by an unauthorized user, an error message will be printed and the requested action will not occur. If no command is entered on the execute line, scontrol will operate in an interactive mode and prompt for input. It will continue prompting for input and executing commands until explicitly terminated. If a command is entered on the execute line, scontrol will execute that command and terminate. All commands and options are case-insensitive, although node names and partition names are case-sensitive (node names "LX" and "lx" are distinct). Commands can be abbreviated to the extent that the specification is unique.

OPTIONS

-h  Print a help message describing the usage of scontrol.

-q  Print no warning or informational messages, only fatal error messages.

-v  Print detailed event logging. This includes time-stamps on data structures, record counts, etc.

COMMANDS

abort
    Instruct the Slurm controller to terminate immediately and generate a core file.

completing
    Display all jobs in a COMPLETING state along with associated nodes in either a COMPLETING or DOWN state. exit Terminate the execution of scontrol.

help
    Display a description of scontrol options and commands.

pid2jid PROC_ID
    Print the Slurm job id corresponding to the supplied process id, PROC_ID, on the current node.

ping
    Ping the primary and secondary slurmctld daemon and report if they are responding.

quiet
    Print no warning or informational messages, only fatal error messages.

quit
    Terminate the execution of scontrol.

reconfigure
    Instruct all Slurm daemons to re-read the configuration file. This command does not restart the daemons. This mechanism would be used to modify configuration parameters (Epilog, Prolog, SlurmctldLogFile, SlurmdLogFile, etc.) register the physical addition or removal of nodes from the cluster or recognize the change of a node's configuration, such as the addition of memory or processors. The Slurm controller (slurmctld) forwards the request all other daemons (slurmd daemon on each compute node). Running jobs continue execution. Most configuration parameters can be changed by just running this command, however, SLURM daemons should be shutdown and restarted if any of these parameters are to be changed: AuthType, BackupAddr, BackupController, ControlAddr, ControlMach, PluginDir, StateSaveLocation, SlurmctldPort or SlurmdPort.

show ENTITY ID
    Display the state of the specified entity with the specified identification. ENTITY may be config, daemons, job, node, partition or step. ID can be used to identify a specific element of the identified entity: the configuration parameter name, job ID, node name, partition name, or job step ID for entities config, job, node, partition, and step respectively. Multiple node names may be specified using simple node range expressions (e.g. "lx[10-20]"). All other ID values must identify a single element. The job step ID is of the form "job_id.step_id", (e.g. "1234.1"). By default, all elements of the entity type specified are printed.

shutdown
    Instruct all Slurm daemons to save current state and terminate. The Slurm controller (slurmctld) forwards the request all other daemons (slurmd daemon on each compute node).

update SPECIFICATION
    Update job, node or partition configuration per the supplied specification. SPECIFICATION is in the same format as the Slurm configuration file and the output of the show command described above. It may be desirable to execute the show command (described above) on the specific entity you which to update, then use cut-and-paste tools to enter updated configuration values to the update. Note that while most configuration values can be changed using this command, not all can be changed using this mechanism. In particular, the hardware configuration of a node or the physical addition or removal of nodes from the cluster may only be accomplished through editing the Slurm configuration file and executing the reconfigure command (described above).

verbose
    Print detailed event logging. This includes time-stamps on data structures, record counts, etc.

version
    Display the version number of scontrol being executed.

!!  Repeat the last command executed.

SPECIFICATIONS FOR UPDATE COMMAND, JOBS

Contiguous=<yes|no>
    Set the job's requirement for contiguous (consecutive) nodes to be allocated. Possible values are"YES" and "NO".

Features=<features>
    Set the job's required features on nodes specified value. Multiple values may be comma separated if all features are required (AND operation) or separated by "|" if any of the specified features are required (OR operation).

JobId=<id>
    Identify the job to be updated. This specification is required.

MinMemory=<megabytes>
    Set the job's minimum real memory required per nodes to the specified value.

MinProcs=<count>
    Set the job's minimum number of processors per nodes to the specified value.

MinTmpDisk=<megabytes>
    Set the job's minimum temporary disk space required per nodes to the specified value.

Name=<name>
    Set the job's name to the specified value.

Partition=<name>
    Set the job's partition to the specified value.

Priority=<minutes>
    Set the job's priority to the specified value.

ReqNodeList=<nodes>
    Set the job's list of required node. Multiple node names may be specified using simple node range expressions (e.g. "lx[10-20]").

ReqNodes=<count>
    Set the job's count of required nodes to the specified value.

ReqProcs=<count>
    Set the job's count of required processors to the specified value.

Shared=<yes|no>
    Set the job's ability to share nodes with other jobs. Possible values are "YES" and "NO".

TimeLimit=<minutes>
    Set the job's time limit to the specified value.

SPECIFICATIONS FOR UPDATE COMMAND, NODES

NodeName=<name>
    Identify the node(s) to be updated. Multiple node names may be specified using simple node range expressions (e.g. "lx[10-20]"). This specification is required.

State=<state>
    Identify the state to be assigned to the node. Possible values are "NoResp", "DOWN", "IDLE", "DRAIN", "DRAINED", "DRAINING", and "ALLOCATED". To drain a node specify "DRAIN", "DRAINED", or "DRAINING". SLURM will automatically set it to the appropriate value of either "DRAINING" or "DRAINED" depending if the node is allocated or not. The "NoResp" state will only set the "NoResp" flag for a node without changing its underlying state.

SPECIFICATIONS FOR UPDATE COMMAND, PARTITIONS

AllowGroups=<name>
    Identify the user groups which may use this partition. Multiple groups may be specified in a comma separated list.

Default=<yes|no>
    Specify if this partition is to be used by jobs which do not explicitly identify a partition to use. Possible values are"YES" and "NO".

Nodes=<name>
    Identify the node(s) to be associated with this partition. Multiple node names may be specified using simple node range expressions (e.g. "lx[10-20]"). Note that jobs may only be associated with one partition at any time.

PartitionName=<name>
    Identify the partition to be updated. This specification is required.

RootOnly=<yes|no>
    Specify if only allocation requests initiated by user root will be satisfied. This can be used to restrict control of the partition to some meta-scheduler. Possible values are"YES" and "NO".

Shared=<yes|no|force>
    Specify if nodes in this partition can be shared by multiple jobs. Possible values are"YES", "NO" and "FORCE".

State=<up|down>
    Specify if jobs can be allocated nodes in this partition. Possible values are"UP" and "DOWN". If a partition allocated nodes to running jobs, those jobs will continue execution even after the partition's state is set to "DOWN". The jobs must be explicitly canceled to force their termination.

MaxNodes=<count>
    Set the maximum number of nodes which will be allocated to any single job in the partition. Specify a number or "INFINITE".

MinNodes=<count>
    Set the minimum number of nodes which will be allocated to any single job in the partition.

EXAMPLE
# scontrol
scontrol: show part class
PartitionName=class MaxTime=30 MaxNodes=2 TotalNodes=10
   TotalCPUs=160 RootOnly=NO Default=NO Shared=NO State=UP
   Nodes=lx[0031-0040] AllowGroups=students
scontrol: update PartitionName=class MaxTime=99 MaxNodes=4
scontrol: show job 65539
JobId=65539 UserId=1500 JobState=PENDING TimeLimit=100
   Priority=100 Partition=batch Name=job01 NodeList=(null)
   StartTime=0 EndTime=0 Shared=0 ReqProcs=1000
   ReqNodes=400 Contiguous=1 MinProcs=4 MinMemory=1024
   MinTmpDisk=2034ReqNodeList=lx[3000-3003]
   Features=(null) JobScript=/bin/hostname
scontrol: update JobId=65539 TimeLimit=200 Priority=500
scontrol: quit

COPYING
Copyright (C) 2002 The Regents of the University of California. Produced at Lawrence Livermore National Laboratory (cf, DISCLAIMER). UCRL-CODE-2002-040.

This file is part of SLURM, a resource management program. For details, see <http://www.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.

FILES

/etc/slurm.conf

SEE ALSO
scancel(1), sinfo(1), squeue(1), slurm_load_ctl_conf(3), slurm_load_jobs(3), slurm_load_node(3), slurm_load_partitions(3), slurm_reconfigure(3), slurm_shutdown(3), slurm_update_job(3), slurm_update_node(3), slurm_update_partition(3) slurm.conf(5)