.SH "DESCRIPTION"
\fBsinfo\fR is used to view partition and node information for a
system running Slurm.

.SH "OPTIONS"

.TP
\fB\-a\fR, \fB\-\-all\fR
Display information about all partitions. This causes information to be
displayed about partitions that are configured as hidden and partitions that
are unavailable to the user's group.

.TP
\fB\-d\fR, \fB\-\-dead\fR
If set, only report state information for non\-responding (dead) nodes.

.TP
\fB\-e\fR, \fB\-\-exact\fR
If set, do not group node information on multiple nodes unless
their configurations to be reported are identical. Otherwise
cpu count, memory size, and disk space for nodes will be listed
with the minimum value followed by a "+" for nodes with the
same partition and state (e.g. "250+").

.TP
\fB\-\-federation\fR
Show all partitions from the federation if a member of one.

.TP
\fB\-h\fR, \fB\-\-noheader\fR
Do not print a header on the output.

.TP
\fB\-\-help\fR
Print a message describing all \fBsinfo\fR options.

.TP
\fB\-\-hide\fR
Do not display information about hidden partitions. Partitions
that are configured as hidden or are not available to the user's group
will not be displayed. This is the default behavior.

.TP
\fB\-i <seconds>\fR, \fB\-\-iterate=<seconds>\fR
Print the state on a periodic basis.
Sleep for the indicated number of seconds between reports.
By default prints a time stamp with the header.

.TP
\fB\-\-local\fR
Show only jobs local to this cluster. Ignore other clusters in this federation
(if any). Overrides \fB\-\-federation\fR.
\fB\-n <nodes>\fR, \fB\-\-nodes=<nodes>\fR
Print information about the specified node(s).
Multiple nodes may be comma separated or expressed using a
node range expression (e.g. "linux[00\-17]")
Limiting the query to just the relevant nodes can measurably improve the
performance of the command for large clusters.

.TP
\fB\-\-noconvert\fR
Don't convert units from their original type (e.g. 2048M won't be converted to
2G).

.TP
\fB\-N\fR, \fB\-\-Node\fR
Print information in a node\-oriented format with one line per node
and partition. That is, if a node belongs to more than one partition, then one
line for each node\-partition pair will be shown.
If \fB\-\-partition\fR is also specified, then only one line per node in this
partition is shown.
The default is to print information in a partition\-oriented format.
This is ignored if the \fB\-\-format\fR option is specified.

.TP
\fB\-o <output_format>\fR, \fB\-\-format=<output_format>\fR
Specify the information to be displayed using an \fBsinfo\fR
format string.
If the command is executed in a federated cluster environment and information
about more than one cluster is to be displayed and the \fB\-h, \-\-noheader\fR
option is used, then the cluster name will be displayed before the default
output formats shown below.
Format strings transparently used by \fBsinfo\fR when running with various
options are:
.RS
.TP 15
.I "default"
"%#P %.5a %.10l %.6D %.6t %N"
.TP
.I "\-\-summarize"
"%#P %.5a %.10l %.16F  %N"
.TP
.I "\-\-long"
"%#P %.5a %.10l %.10s %.4r %.8h %.10g %.6D %.11T %N"
.TP
.I "\-\-Node"
"%#N %.6D %#P %6t"
.TP
.I "\-\-long \-\-Node"
"%#N %.6D %#P %.11T %.4c %.8z %.6m %.8d %.6w %.8f %20E"
.TP
.I "\-\-list\-reasons"
"%20E %9u %19H %N"
.TP
The format of each field is "%[[.]size]type[suffix]"
.RS 10
.TP
\fIsize\fR
Minimum field size. If no size is specified, whatever is needed to print the
information will be used.
.TP
\fI.\fR
Indicates the output should be right justified and size must be specified.
By default output is left justified.
.TP
\fIsuffix\fR
Arbitrary string to append to the end of the field.
.RE

.IP
Valid \fItype\fR specifications include:
.RS
.TP 6
\fB%all\fR
Print all fields available for this data type with a vertical bar separating
each field.
.TP
\fB%a\fR
State/availability of a partition.
.TP
\fB%A\fR
Number of nodes by state in the format "allocated/idle".
Do not use this with a node state option ("%t" or "%T") or
the different node states will be placed on separate lines.
.TP
\fB%b\fR
Features currently active on the nodes, also see \fB%f\fR.
.TP
\fB%B\fR
The max number of CPUs per node available to jobs in the partition.
.TP
\fB%c\fR
Number of CPUs per node.
.TP
\fB%C\fR
Number of CPUs by state in the format
"allocated/idle/other/total". Do not use this with a node
state option ("%t" or "%T") or the different node states will
be placed on separate lines.
.TP
\fB%d\fR
Size of temporary disk space per node in megabytes.
.TP
\fB%D\fR
Number of nodes.
.TP
.TP
\fB%g\fR
Groups which may use the nodes.
.TP
\fB%G\fR
Generic resources (gres) associated with the nodes.
.TP
\fB%h\fR
Print the OverSubscribe setting for the partition.
.TP
\fB%H\fR
Print the timestamp of the reason a node is unavailable.
.TP
\fB%I\fR
Partition job priority weighting factor.
.TP
\fB%l\fR
Maximum time for any job in the format "days\-hours:minutes:seconds"
.TP
\fB%L\fR
Default time for any job in the format "days\-hours:minutes:seconds"
.TP
\fB%m\fR
Size of memory per node in megabytes.
.TP
\fB%M\fR
PreemptionMode.
.TP
\fB%n\fR
List of node hostnames.
.TP
\fB%N\fR
List of node names.
.TP
\fB%o\fR
List of node communication addresses.
.TP
\fB%O\fR
CPU load of a node.
.TP
\fB%p\fR
Partition scheduling tier priority.
.TP
\fB%P\fR
Partition name followed by "*" for the default partition, also see \fB%R\fR.
.TP
\fB%r\fR
Only user root may initiate jobs, "yes" or "no".
.TP
\fB%R\fR
Partition name, also see \fB%P\fR.
.TP
.TP
\fB%U\fR
Print the user name and uid of who set the reason a node is unavailable.
.TP
\fB%v\fR
Print the version of the running slurmd daemon.
.TP
\fB%V\fR
Print the cluster name if running in a federation.
.TP
\fB%w\fR
Scheduling weight of the nodes.
.TP
\fB%X\fR
Number of sockets per node.
.TP
\fB%Y\fR
Number of cores per socket.
.TP
\fB%Z\fR
Number of threads per core.
.TP
\fB%z\fR
Extended processor information: number of sockets, cores, threads (S:C:T) per node.
.RE

.TP
\fB\-O <output_format>\fR, \fB\-\-Format=<output_format>\fR
Specify the information to be displayed.
Also see the \fB\-o <output_format>\fR, \fB\-\-format=<output_format>\fR
option (which supports greater flexibility in formatting, but
does not support access to all fields because we ran out of letters).
Requests a comma separated list of job information to be displayed.

.IP
The format of each field is "type[:[.][size][suffix]]"
.RS 10
.TP
\fIsize\fR
The minimum field size.
If no size is specified, 20 characters will be allocated to print the information.
.TP
\fI.\fR
Indicates the output should be right justified and size must be specified.
By default, output is left justified.
.TP
\fIsuffix\fR
Arbitrary string to append to the end of the field.
.RE

.IP
Valid \fItype\fR specifications include:
\fBAvailable\fR
State/availability of a partition.
.TP
\fBCluster\fR
Print the cluster name if running in a federation.
.TP
\fBComment\fR
Comment. (Arbitrary descriptive string)
.TP
\fBCores\fR
.RS
Number of cores per socket.
.RE
.TP
\fBCPUs\fR
.RS
Number of CPUs per node.
.RE
.TP
\fBCPUsLoad\fR
CPU load of a node.
.TP
\fBCPUsState\fR
Number of CPUs by state in the format
"allocated/idle/other/total". Do not use this with a node
state option ("%t" or "%T") or the different node states will
be placed on separate lines.
.TP
\fBDefaultTime\fR
Default time for any job in the format "days\-hours:minutes:seconds".
.TP
\fBDisk\fR
.RS
Size of temporary disk space per node in megabytes.
.RE
.TP
\fBFeatures\fR
Features available on the nodes. Also see \fBfeatures_act\fR.
.TP
\fBfeatures_act\fR
Features currently active on the nodes. Also see \fBfeatures\fR.
.TP
\fBFreeMem\fR
Free memory of a node.
.TP
\fBGres\fR
.RS
Generic resources (gres) associated with the nodes.
.RE
.TP
\fBGresUsed\fR
Generic resources (gres) currently in use on the nodes.
\fBNodeAddr\fR
List of node communication addresses.
.TP
\fBNodeAI\fR
.RS
Number of nodes by state in the format "allocated/idle".
Do not use this with a node state option ("%t" or "%T") or
the different node states will be placed on separate lines.
.RE
.TP
\fBNodeAIOT\fR
Number of nodes by state in the format
"allocated/idle/other/total".  Do not use this with a node
state option ("%t" or "%T") or the different node states will
be placed on separate lines.
.TP
\fBNodeHost\fR
List of node hostnames.
.TP
\fBNodeList\fR
List of node names.
.TP
\fBNodes\fR
.RS
Number of nodes.
.RE
.TP
\fBOverSubscribe\fR
Whether jobs may oversubscribe compute resources (e.g. CPUs).
.TP
\fBPartition\fR
Partition name followed by "*" for the default partition, also see \fB%R\fR.
.TP
\fBPartitionName\fR
Partition name, also see \fB%P\fR.
.TP
\fBPort\fR
.RS
Node TCP port.
.RE
.TP
\fBPreemptMode\fR
Preemption mode.
.TP
\fBPriorityJobFactor\fR
Partition factor used by priority/multifactor plugin in calculating job priority.
.TP
\fBPriorityTier\fR or \fBPriority\fR
Partition scheduling tier priority.
.TP
\fBReason\fR
.RS
Extended processor information: number of sockets, cores, threads (S:C:T) per node.
.TP
\fBSockets\fR
Number of sockets per node.
.TP
\fBStateCompact\fR
State of nodes, compact form.
.TP
\fBStateLong\fR
State of nodes, extended form.
.TP
\fBThreads\fR
Number of threads per core.
.TP
\fBTime\fR
.RS
Maximum time for any job in the format "days\-hours:minutes:seconds".
.RE
.TP
\fBTimeStamp\fR
Print the timestamp of the reason a node is unavailable.
.TP
\fBUser\fR
.RS
Print the user name of who set the reason a node is unavailable.
.RE
.TP
\fBUserLong\fR
Print the user name and uid of who set the reason a node is unavailable.
.TP
\fBVersion\fR
Print the version of the running slurmd daemon.
.TP
\fBWeight\fR
.RS
Scheduling weight of the nodes.
.RE
.RE

.TP
\fB\-p <partition>\fR, \fB\-\-partition=<partition>\fR
Print information only about the specified partition(s). Multiple partitions
are separated by commas.

.TP
\fB\-r\fR, \fB\-\-responding\fR
If set only report state information for responding nodes.

.TP
\fB\-R\fR, \fB\-\-list\-reasons\fR
List reasons nodes are in the down, drained, fail or failing state.
When nodes are in these states Slurm supports the inclusion
List only a partition state summary with no node state details.
This is ignored if the \fB\-\-format\fR option is specified.

.TP
\fB\-S <sort_list>\fR, \fB\-\-sort=<sort_list>\fR
Specification of the order in which records should be reported.
This uses the same field specification as the <output_format>.
Multiple sorts may be performed by listing multiple sort fields
separated by commas.  The field specifications may be preceded
by "+" or "\-" for ascending (default) and descending order
respectively.  The partition field specification, "P", may be
preceded by a "#" to report partitions in the same order that
they appear in Slurm's  configuration file, \fBslurm.conf\fR.
For example, a sort value of "+P,\-m" requests that records
be printed in order of increasing partition name and within a
partition by decreasing memory size.  The default value of sort
is "#P,\-t" (partitions ordered as configured then decreasing
node state).  If the \fB\-\-Node\fR option is selected, the
default sort value is "N" (increasing node name).

.TP
\fB\-t <states>\fR , \fB\-\-states=<states>\fR
List nodes only having the given state(s).  Multiple states
may be comma separated and the comparison is case insensitive.
If the states are separated by '&', then the nodes must be in all states.
Possible values include (case insensitive): ALLOC, ALLOCATED, CLOUD,
COMP, COMPLETING, DOWN, DRAIN (for node in DRAINING or DRAINED
states), DRAINED, DRAINING, FAIL, FUTURE, FUTR,
IDLE, MAINT, MIX, MIXED, NO_RESPOND, NPC, PERFCTRS,
POWER_DOWN, POWERING_DOWN, POWER_UP, RESV, RESERVED, UNK, and UNKNOWN.
By default nodes in the specified state are reported whether
they are responding or not.
The \fB\-\-dead\fR and \fB\-\-responding\fR options may be
used to filter nodes by the corresponding flag.

.TP
\fB\-T\fR, \fB\-\-reservation\fR
Only display information about Slurm reservations.

\fBNOTE\fR: This option causes \fBsinfo\fR to ignore most other options,
which are focused on partition and node information.

.TP
\fB\-\-usage\fR
Print a brief message listing the \fBsinfo\fR options.

.TP
\fB\-v\fR, \fB\-\-verbose\fR
Provide detailed event logging through program execution.

.TP
\fB\-V\fR, \fB\-\-version\fR
.TP
\fBSOCKETS\fR
Count of sockets on these nodes.
.TP
\fBCORES\fR
Count of cores on these nodes.
.TP
\fBTHREADS\fR
Count of threads on these nodes.
.TP
\fBGROUPS\fR
Resource allocations in this partition are restricted to the
named groups.  \fBall\fR indicates that all groups may use
this partition.
.TP
\fBJOB_SIZE\fR
Minimum and maximum node count that can be allocated to any
user job.  A single number indicates the minimum and maximum
node count are the same.  \fBinfinite\fR is used to identify
partitions without a maximum node count.
.TP
\fBTIMELIMIT\fR
Maximum time limit for any user job in
days\-hours:minutes:seconds.  \fBinfinite\fR is used to identify
partitions without a job time limit.
.TP
\fBMEMORY\fR
Size of real memory in megabytes on these nodes.
.TP
\fBNODELIST\fR
Names of nodes associated with this particular configuration.
.TP
\fBNODES\fR
Count of nodes with this particular configuration.
.TP
\fBNODES(A/I)\fR
Count of nodes with this particular configuration by node
state in the form "available/idle".
.TP
\fBNODES(A/I/O/T)\fR
Count of nodes with this particular configuration by node
state in the form "available/idle/other/total".
.TP
\fBPARTITION\fR
Name of a partition.  Note that the suffix "*" identifies the
default partition.
.TP
\fBPORT\fR
Local TCP port used by slurmd on the node.
.TP
\fBROOT\fR
Is the ability to allocate resources in this partition
the OversubScribe value will be appended to the output.
.TP
\fBSTATE\fR
State of the nodes.
Possible states include: allocated, completing, down,
drained, draining, fail, failing, future, idle, maint, mixed,
perfctrs, power_down, power_up, reserved, and unknown.
Their abbreviated forms are: alloc, comp, down, drain, drng,
fail, failg, futr, idle, maint, mix, npc, pow_dn, pow_up, resv,
and unk respectively.

\fBNOTE\fR: The suffix "*" identifies nodes that are presently
not responding.
.TP
\fBTMP_DISK\fR
Size of temporary disk space in megabytes on these nodes.

.SH "NODE STATE CODES"
.PP
Node state codes are shortened as required for the field size.
These node states may be followed by a special character to identify
state flags associated with the node.
The following node suffixes and states are used:
.TP 4
\fB*\fR
The node is presently not responding and will not be allocated
any new work.  If the node remains non\-responsive, it will
be placed in the \fBDOWN\fR state (except in the case of
\fBCOMPLETING\fR, \fBDRAINED\fR, \fBDRAINING\fR,
\fBFAIL\fR, \fBFAILING\fR nodes).
.TP
\fB~\fR
The node is presently in a power saving mode (typically
running at reduced frequency).
.TP
\fB#\fR
The node is presently being powered up or configured.
.TP
\fB%\fR
The node is presently being powered down.
.TP
\fB$\fR
The node is currently in a reservation with a flag value of "maintenance".
.TP
\fB@\fR
The node is pending reboot.
.TP 12
\fBALLOCATED\fR
The node has been allocated to one or more jobs.
.TP
\fBALLOCATED+\fR
The node is allocated to one or more active jobs plus
a node resumes normal operation, Slurm can automatically
return it to service. See the \fBReturnToService\fR
and \fBSlurmdTimeout\fR parameter descriptions in the
\fBslurm.conf\fR(5) man page for more information.
.TP
\fBDRAINED\fR
The node is unavailable for use per system administrator
request.  See the \fBupdate node\fR command in the
\fBscontrol\fR(1) man page or the \fBslurm.conf\fR(5) man page
for more information.
.TP
\fBDRAINING\fR
The node is currently executing a job, but will not be allocated
additional jobs. The node state will be changed to state
\fBDRAINED\fR when the last job on it completes. Nodes enter
this state per system administrator request. See the \fBupdate
node\fR command in the \fBscontrol\fR(1) man page or the
\fBslurm.conf\fR(5) man page for more information.
.TP
\fBFAIL\fR
The node is expected to fail soon and is unavailable for
use per system administrator request.
See the \fBupdate node\fR command in the \fBscontrol\fR(1)
man page or the \fBslurm.conf\fR(5) man page for more information.
.TP
\fBFAILING\fR
The node is currently executing a job, but is expected to fail
soon and is unavailable for use per system administrator request.
See the \fBupdate node\fR command in the \fBscontrol\fR(1)
man page or the \fBslurm.conf\fR(5) man page for more information.
.TP
\fBFUTURE\fR
The node is currently not fully configured, but expected to be available at
some point in the indefinite future for use.
.TP
\fBIDLE\fR
The node is not allocated to any jobs and is available for use.
.TP
\fBMAINT\fR
The node is currently in a reservation with a flag value of "maintenance".
.TP
\fBREBOOT\fR
The node is currently scheduled to be rebooted.
.TP
\fBMIXED\fR
The node has some of its CPUs \fBALLOCATED\fR while others are \fBIDLE\fR.
.TP
\fBPERFCTRS (NPC)\fR
Network Performance Counters associated with this node are in use, rendering
this node as not usable for any other jobs
.TP
\fBPOWER_DOWN\fR

.SH "PERFORMANCE"
.PP
Executing \fBsinfo\fR sends a remote procedure call to \fBslurmctld\fR. If
enough calls from \fBsinfo\fR or other Slurm client commands that send remote
procedure calls to the \fBslurmctld\fR daemon come in at once, it can result in
a degradation of performance of the \fBslurmctld\fR daemon, possibly resulting
in a denial of service.
.PP
Do not run \fBsinfo\fR or other Slurm client commands that send remote procedure
calls to \fBslurmctld\fR from loops in shell scripts or other programs. Ensure
that programs limit calls to \fBsinfo\fR to the minimum necessary for the
information you are trying to gather.

.SH "ENVIRONMENT VARIABLES"
.PP
Some \fBsinfo\fR options may
be set via environment variables. These environment variables,
along with their corresponding options, are listed below.
\fBNOTE\fR: Command line options will always override these settings.
.TP 20
\fBSINFO_ALL\fR
Same as \fB\-a, \-\-all\fR
.TP
\fBSINFO_FEDERATION\fR
Same as \fB\-\-federation\fR
.TP
\fBSINFO_FORMAT\fR
Same as \fB\-o <output_format>, \-\-format=<output_format>\fR
.TP
\fBSINFO_LOCAL\fR
Same as \fB\-\-local\fR
.TP
\fBSINFO_PARTITION\fR
Same as \fB\-p <partition>, \-\-partition=<partition>\fR
.TP
\fBSINFO_SORT\fR
Same as \fB\-S <sort>, \-\-sort=<sort>\fR
.TP
\fBSLURM_CLUSTERS\fR
Same as \fB\-\-clusters\fR
.TP
\fBSLURM_CONF\fR
The location of the Slurm configuration file.
.TP
\fBSLURM_TIME_FORMAT\fR
Specify the format used to report time stamps. A value of \fIstandard\fR, the
default value, generates output in the form "year\-month\-dateThour:minute:second".
A value of \fIrelative\fR returns only "hour:minute:second" if the current day.
For other dates in the current year it prints the "hour:minute" preceded by
"Tomorr" (tomorrow), "Ystday" (yesterday), the name of the day for the coming
week (e.g. "Mon", "Tue", etc.), otherwise the date (e.g. "25 Apr").
batch     up     infinite     2 alloc  adev[8-9]
batch     up     infinite     6 idle   adev[10-15]
debug*    up        30:00     8 idle   adev[0-7]

.fi

Report partition summary information:
.nf

> sinfo -s
PARTITION AVAIL TIMELIMIT NODES(A/I/O/T) NODELIST
batch     up     infinite 2/6/0/8        adev[8-15]
debug*    up        30:00 0/8/0/8        adev[0-7]

.fi

Report more complete information about the partition debug:
.nf

> sinfo --long --partition=debug
PARTITION AVAIL TIMELIMIT JOB_SIZE ROOT OVERSUBS GROUPS NODES STATE NODELIST
debug*    up        30:00        8 no   no       all        8 idle  dev[0-7]
.fi

Report only those nodes that are in state DRAINED:
.nf

> sinfo --states=drained
PARTITION AVAIL NODES TIMELIMIT STATE  NODELIST
debug*    up        2     30:00 drain  adev[6-7]

.fi

Report node-oriented information with details and exact matches:
.nf

> sinfo -Nel
NODELIST    NODES PARTITION STATE  CPUS MEMORY TMP_DISK WEIGHT FEATURES REASON
adev[0-1]       2 debug*    idle      2   3448    38536     16 (null)   (null)
adev[2,4-7]     5 debug*    idle      2   3384    38536     16 (null)   (null)
adev3           1 debug*    idle      2   3394    38536     16 (null)   (null)
adev[8-9]       2 batch     allocated 2    246    82306     16 (null)   (null)
adev[10-15]     6 batch     idle      2    246    82306     16 (null)   (null)

.fi

Report only down, drained and draining nodes and their reason field:
.nf

> sinfo -R
REASON                              NODELIST
Memory errors                       dev[0,5]
For details, see <https://slurm.schedmd.com/>.
.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"
\fBscontrol\fR(1), \fBsqueue\fR(1),
\fBslurm_load_ctl_conf\fR (3), \fBslurm_load_jobs\fR (3),
\fBslurm_load_node\fR (3),
\fBslurm_load_partitions\fR (3),
\fBslurm_reconfigure\fR (3), \fBslurm_shutdown\fR (3),
\fBslurm_update_job\fR (3), \fBslurm_update_node\fR (3),
\fBslurm_update_partition\fR (3),
\fBslurm.conf\fR(5)