sinfo(1)

๐Ÿ’– sinfo(1) โ€” Slurm Commands ๐Ÿ’–

okay bestie, welcome to the sinfo(1) page from the Slurm Commands manual. this is literally the vibe check for your Slurm cluster's nodes and partitions. periodt. ๐Ÿฆ‹


โœจ NAME โœจ

sinfo โ€” view information about Slurm nodes and partitions. ๐Ÿ‘‘

๐ŸŒธ SYNOPSIS ๐ŸŒธ

sinfo [OPTIONS...]

๐ŸŽ€ DESCRIPTION ๐ŸŽ€

sinfo is the tool you use to view partition and node information for a system running Slurm. it's giving "let me see what's going on in this cluster" and it ate. ๐Ÿ’…

๐Ÿ”ฅ OPTIONS ๐Ÿ”ฅ

  • -a, --all โ€” display info about all partitions. this makes info show up for partitions configured as hidden and partitions that are unavailable to your user's group. no gatekeeping. โœจ
  • -M, --clusters=<string> โ€” clusters to issue commands to. multiple cluster names can be comma separated. a value of 'all' will query all clusters. note that the slurmdbd must be up for this option to work properly, unless running in a federation with either FederationParameters=fed_display configured or the --federation option set. this option implicitly sets the --local option. ๐Ÿซถ
  • -d, --dead โ€” only show nodes that have unexpectedly stopped responding. this may not show nodes in a POWERED_DOWN state since they are expected to be down. ๐Ÿ’€
  • -e, --exact โ€” 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+"). bestie, exact means exact. ๐ŸŽฏ
  • --federation โ€” show all partitions from the federation if a member of one. ๐ŸŒ
  • -F, --future โ€” report nodes in FUTURE state. ๐Ÿ”ฎ
  • -o, --format=<output_format> โ€” specify the information to be displayed using an sinfo 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 -h, --noheader option is used, then the cluster name will be displayed before the default output formats shown below. format strings transparently used by sinfo when running with various options are:
default        "%#P %.5a %.10l %.6D %.6t %N"

--summarize    "%#P %.5a %.10l %.16F  %N"

--long         "%#P %.5a %.10l %.10s %.4r %.8h %.10g %.6D %.11T %.11i %N"

--Node         "%#N %.6D %#P %6t"

--long --Node  "%#N %.6D %#P %.11T %.4c %.8z %.6m %.8d %.6w %.8f %20E"

--list-reasons "%20E %9u %19H %N"

--long --list-reasons
               "%20E %12U %19H %6t %N"

in the above format strings, the use of # represents the maximum length of any partition name or node list to be printed. a pass is made over the records to be printed to establish the size in order to align the sinfo output, then a second pass is made over the records to print them. note that the literal character # itself is not a valid field length specification, but is only used to document this behavior.

the format of each field is "%[[.]size]type[suffix]"

  • size โ€” minimum field size. if no size is specified, whatever is needed to print the information will be used.
  • . โ€” indicates the output should be right justified and size must be specified. by default output is left justified.
  • suffix โ€” arbitrary string to append to the end of the field.

valid type specifications include:

  • %all โ€” print all fields available for this data type with a vertical bar separating each field.
  • %a โ€” state/availability of a partition.
  • %A โ€” 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.
  • %b โ€” features currently active on the nodes, also see %f.
  • %B โ€” the max number of CPUs per node available to jobs in the partition.
  • %c โ€” number of CPUs per node.
  • %C โ€” 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.
  • %d โ€” size of temporary disk space per node in mebibytes.
  • %D โ€” number of nodes.
  • %e โ€” the total memory, in MiB, currently free on the node as reported by the OS. this value is for informational use only and is not used for scheduling.
  • %E โ€” the reason a node is unavailable (down, drained, or draining states).
  • %f โ€” features available the nodes, also see %b.
  • %F โ€” number of nodes by state in the format "allocated/idle/other/total". note the use of this format option with a node state format option ("%t" or "%T") will result in the different node states being be reported on separate lines.
  • %g โ€” groups which may use the nodes.
  • %G โ€” generic resources (gres) associated with the nodes.
  • %h โ€” print the OverSubscribe setting for the partition.
  • %H โ€” print the timestamp of the reason a node is unavailable.
  • %i โ€” if a node is in an advanced reservation print the name of that reservation.
  • %I โ€” partition job priority weighting factor.
  • %l โ€” maximum time for any job in the format "days-hours:minutes:seconds".
  • %L โ€” default time for any job in the format "days-hours:minutes:seconds".
  • %m โ€” size of memory per node in mebibytes.
  • %M โ€” PreemptionMode.
  • %n โ€” list of node hostnames.
  • %N โ€” list of node names.
  • %o โ€” list of node communication addresses.
  • %O โ€” CPU load of a node as reported by the OS.
  • %p โ€” partition scheduling tier priority.
  • %P โ€” partition name followed by "*" for the default partition, also see %R.
  • %r โ€” only user root may initiate jobs, "yes" or "no".
  • %R โ€” partition name, also see %P.
  • %s โ€” maximum job size in nodes.
  • %S โ€” allowed allocating nodes.
  • %t โ€” state of nodes, compact form.
  • %T โ€” state of nodes, extended form.
  • %u โ€” print the user name of who set the reason a node is unavailable.
  • %U โ€” print the user name and uid of who set the reason a node is unavailable.
  • %v โ€” print the running slurmd version. if reporting on a node list, print the version of the first node in the list.
  • %V โ€” print the cluster name if running in a federation.
  • %w โ€” scheduling weight of the nodes.
  • %X โ€” number of sockets per node.
  • %Y โ€” number of cores per socket.
  • %Z โ€” number of threads per core.
  • %z โ€” extended processor information: number of sockets, cores, threads (S:C:T) per node.
  • -O, --Format=<output_format> โ€” specify the information to be displayed. also see the -o <output_format>, --format=<output_format> 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.

the format of each field is "type[:[.][size][suffix]]"

  • size โ€” the maximum field size. if no size is specified, 20 characters will be allocated to print the information.
  • . โ€” indicates the output should be right justified and size must be specified. by default, output is left justified.
  • suffix โ€” arbitrary string to append to the end of the field.

valid type specifications include:

  • All โ€” print all fields available in the -o format for this data type with a vertical bar separating each field.
  • AllocMem โ€” prints the amount of allocated memory on a node.
  • AllocNodes โ€” allowed allocating nodes.
  • Available โ€” state/availability of a partition.
  • Cluster โ€” print the cluster name if running in a federation.
  • Comment โ€” comment. (arbitrary descriptive string)
  • Cores โ€” number of cores per socket.
  • CPUs โ€” number of CPUs per node.
  • CPUsLoad โ€” CPU load of a node as reported by the OS.
  • CPUsState โ€” 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.
  • DefaultTime โ€” default time for any job in the format "days-hours:minutes:seconds".
  • Disk โ€” size of temporary disk space per node in mebibytes.
  • Extra โ€” arbitrary string on the node.
  • Features โ€” features available on the nodes. also see features_act.
  • features_act โ€” features currently active on the nodes. also see features.
  • FreeMem โ€” the total memory, in MiB, currently free on the node as reported by the OS. this value is for informational use only and is not used for scheduling.
  • Gres โ€” generic resources (gres) associated with the nodes.
  • GresUsed โ€” generic resources (gres) currently in use on the nodes. for shared GRES usage details, see https://slurm.schedmd.com/gres.html#Shared_GRES_Usage.
  • Groups โ€” groups which may use the nodes.
  • MaxCPUsPerNode โ€” the max number of CPUs per node available to jobs in the partition.
  • Memory โ€” size of memory per node in mebibytes.
  • NodeAddr โ€” list of node communication addresses.
  • NodeAI โ€” 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.
  • NodeAIOT โ€” 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.
  • NodeHost โ€” list of node hostnames.
  • NodeList โ€” list of node names.
  • Nodes โ€” number of nodes.
  • OverSubscribe โ€” can jobs oversubscribe compute resources (like CPUs)? yes/no energy โœจ
  • Partition โ€” the partition name, with a * slapped on at the end if it's the default partition. also peep %R ๐Ÿ‘€
  • PartitionName โ€” just the plain partition name. also see %P.
  • Port โ€” node TCP port ๐ŸŒ
  • PreemptMode โ€” the preemption mode, duh
  • PriorityJobFactor โ€” the partition factor the priority/multifactor plugin uses when it's calculating job priority ๐Ÿงฎ
  • PriorityTier or Priority โ€” partition scheduling tier priority, the hierarchy vibes ๐Ÿ‘‘
  • Reason โ€” why a node is unavailable (aka it's in a down, drained, or draining state). it's giving "we have our reasons" ๐Ÿ’€
  • Size โ€” max job size, counted in nodes
  • SocketCoreThread โ€” extended processor tea โ˜•: number of sockets, cores, threads (S:C:T) per node
  • Sockets โ€” how many sockets per node
  • StateCompact โ€” node state, but make it compact
  • StateLong โ€” node state, extended form, the deluxe edition
  • StateComplete โ€” node state with every single node state flag included, e.g. "idle+cloud+power" โ€” it's showing off fr fr
  • Threads โ€” number of threads per core ๐Ÿงต
  • Time โ€” max time for any job, formatted "days-hours:minutes:seconds"
  • TimeStamp โ€” print the timestamp of the reason a node is unavailable โฐ
  • User โ€” print the user name of the person who set that reason a node is unavailable
  • UserLong โ€” print the user name and uid of whoever set the reason a node is unavailable
  • Version โ€” print the running slurmd version. if you're reporting on a node list, it prints the version of the first node in the list ๐Ÿ”ข
  • Weight โ€” scheduling weight of the nodes โš–๏ธ

okay the option buffet continues, stay with me bestie ๐Ÿ’…

  • --help โ€” prints a message describing all the sinfo options. literally all of them, it's a lot, we love that for it ๐Ÿซถ
  • --hide โ€” don't display info about hidden partitions. partitions configured as hidden, or ones that just aren't available to your group, won't show up. heads up: this is the default behavior already, so it's giving "quiet luxury" ๐ŸŽ€
  • -i, --iterate=<seconds> โ€” prints the state on a periodic basis, sleeping for the number of seconds you gave it between reports. by default it prints a time stamp along with the header ๐Ÿ”
  • --json, --json=list, --json=<data_parser> โ€” dumps info as JSON using the default data_parser plugin, or an explicit data_parser with parameters. all information gets dumped, even the stuff that normally wouldn't be shown โœจ note that sorting and formatting arguments you passed to other options get ignored โ€” however, most filtering arguments are still used
  • -R, --list-reasons โ€” lists the reasons nodes are in the down, drained, fail or failing state. when nodes are in these states, Slurm lets an administrator add a "reason" string. this option shows the first 20 characters of the reason field plus the list of nodes with that reason, for all nodes that are โ€” by default โ€” down, drained, draining or failing. you can pair it with other node filtering options (like -r, -d, -t, -n), but combinations that end up producing a list of nodes that aren't down, drained or failing will produce zero output, bestie, just an empty void ๐Ÿ•ณ๏ธ when you use it with -l, the output also includes the current node state
  • --local โ€” show only jobs local to this cluster. ignore the other clusters in this federation (if there even are any). this overrides --federation ๐Ÿ 
  • -l, --long โ€” prints more detailed information. this one gets ignored if you specified the --format option, so don't be surprised ๐Ÿ™ˆ
  • --noconvert โ€” don't convert units from their original type (e.g. 2048M won't get converted to 2G). the units stay exactly as they were, no glow-up ๐Ÿ”’
  • -N, --Node โ€” prints info in a node-oriented format, with one line per node and partition. so if a node belongs to more than one partition, you get one line for each node-partition pair ๐Ÿ“‹ if --partition is also specified, then you get only one line per node in this partition. the default is to print in a partition-oriented format. this one is also ignored if the --format option is specified
  • -n, --nodes=<nodes> โ€” prints info about the specified node(s). multiple nodes can be comma separated or given as a node range expression (e.g. "linux[00-17]"). ngl, limiting the query to just the relevant nodes can measurably improve the performance of the command on large clusters, so do that ๐Ÿ’จ
  • -h, --noheader โ€” don't print a header on the output. minimalist era ๐ŸŽ€
  • -p, --partition=<partition> โ€” prints info about the node(s) in the specified partition(s). multiple partitions get separated by commas
  • -T, --reservation โ€” only display info about Slurm reservations
NOTE: this option causes sinfo to ignore most other options, which are focused on partition and node information. it said "my reservations only" ๐Ÿ˜ญ
  • -r, --responding โ€” excludes any nodes that have unexpectedly stopped responding. this is the exact opposite of --dead ๐Ÿ’€
  • -S, --sort=<sort_list> โ€” specifies the order in which records should be reported. it uses the same field specification as the <output_format>. you can do multiple sorts by listing multiple sort fields separated by commas. field specs can be preceded by "+" or "-" for ascending (the default) and descending order respectively. the partition field specification, "P", may be preceded by a "#" to report partitions in the same order they appear in Slurm's configuration file, slurm.conf. example: a sort value of "+P,-m" asks for records 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 --Node option is selected, the default sort value is "N" (increasing node name) ๐Ÿ“Š
  • -t, --states=<states> โ€” lists nodes only having the given state(s). multiple states can be comma separated and the comparison is case insensitive. if the states are separated by '+', then the nodes must be in all of those states. the state can be prefixed with '~' which will invert the result of the match ๐Ÿ”„ possible values include (case insensitive): ALLOC, ALLOCATED, BLOCKED, CLOUD, COMP, COMPLETING, DOWN, DRAIN (for a node in DRAINING or DRAINED states), DRAINED, DRAINING, FAIL, FUTURE, FUTR, IDLE, MAINT, MIX, MIXED, NO_RESPOND, PLANNED, POWER_DOWN, POWERING_DOWN, POWERED_DOWN, POWERING_UP, REBOOT_ISSUED, REBOOT_REQUESTED, RESV, RESERVED, UNK, and UNKNOWN. by default, nodes in the specified state are reported whether they're responding or not. the --dead and --responding options can be used to filter nodes by the corresponding flag
  • -s, --summarize โ€” lists only a partition state summary, with no node state details. this gets ignored if the --format option is specified ๐Ÿงพ
  • --usage โ€” prints a brief message listing the sinfo options โšก
  • -v, --verbose โ€” provides detailed event logging through program execution. it's giving narrator voice ๐ŸŽ™๏ธ
  • -V, --version โ€” prints version information and exits ๐Ÿ‘‹
  • --yaml, --yaml=list, --yaml=<data_parser> โ€” dumps information as YAML using the default data_parser plugin, or an explicit data_parser with parameters. all information is dumped, even if it normally wouldn't be ๐Ÿ’– sorting and formatting arguments passed to other options are ignored; however, most filtering arguments are still used

โœจ OUTPUT FIELD DESCRIPTIONS โœจ

Okay bestie, here's the โœจteaโœจ on every single thing sinfo can print at you. Each field, decoded, no gatekeeping ๐Ÿ’–

  • AVAIL โ€” the partition's state, babe. It can be up, down, drain, or inact (that's the one for INACTIVE). Wanna know more? Check the partition definition's State parameter in the slurm.conf(5) man page ๐Ÿ“–
  • CPUS โ€” how many CPUs (processors, same thing) live on these nodes.
  • S:C:T โ€” the count of sockets (S), cores (C), and threads (T) on these nodes. It's giving inventory ๐ŸŽ€
  • SOCKETS โ€” just the socket count on these nodes.
  • CORES โ€” just the core count on these nodes.
  • THREADS โ€” just the thread count on these nodes.
  • GROUPS โ€” resource allocations in this partition are restricted to the named groups. And all means, literally, all groups may use this partition. everyone's invited ๐Ÿซถ
  • JOB_SIZE โ€” the minimum and maximum node count that can be handed to any user job. If you see a single number, that means the min and max are the same. And infinite is how we say "no maximum node count, sky's the limit" โ˜๏ธ
  • TIMELIMIT โ€” the maximum time limit for any user job, written as days-hours:minutes:seconds. And infinite = partitions with no job time limit at all. queen behavior, no curfew ๐Ÿ‘‘
  • MEMORY โ€” size of real memory on these nodes, in mebibytes.
  • NODELIST โ€” the names of the nodes chillin' in this particular configuration.
  • NODES โ€” the count of nodes with this particular configuration.
  • NODES(A/I) โ€” count of nodes in this particular configuration, broken down by node state as "allocated/idle".
  • NODES(A/I/O/T) โ€” same vibe, more detail: count by node state as "allocated/idle/other/total".
  • PARTITION โ€” the name of a partition. And heads up: that little "*" suffix? That's how you spot the default partition ๐Ÿ‘€
  • PORT โ€” the local TCP port that slurmd uses on the node.
  • ROOT โ€” is the ability to allocate resources in this partition restricted to user root, yes or no. Simple as that ๐Ÿ’…
  • OVERSUBSCRIBE โ€” whether the partition allows more than one job at a time on the same resource (that's node, socket, or core per SelectTypeParameters), plus the maximum share when that applies. The options go like this:
    • NO: no sharing at all, only one job per resource. strict era ๐Ÿ™…
    • YES:n: sharing is allowed when the job asks for --oversubscribe, up to n jobs per resource.
    • FORCE:n: sharing is always allowed, up to n jobs per resource (and jobs literally cannot opt out). no takebacks โœ‹
  • STATE โ€” the state of the nodes. Possible states include: allocated, blocked, completing, down, drained, draining, fail, failing, future, idle, maint, mixed, planned, power_down, power_up, reserved, and unknown. Their abbreviated forms are: alloc, block, comp, down, drain, drng, fail, failg, futr, idle, maint, mix, plnd, pow_dn, pow_up, resv, and unk respectively.
NOTE: that "*" suffix means those nodes are presently not responding. not me ghosting the controller ๐Ÿ˜ญ
  • TMP_DISK โ€” the size of temporary disk space on these nodes, in mebibytes.

๐Ÿ’€ NODE STATE CODES ๐Ÿ’€

So the node state codes get shortened as needed to fit the field size โ€” they're flexible like that. And these node states may be followed by a special character to identify state flags associated with the node. Here's the full roster of suffixes and states, bestie:

  • * โ€” the node is presently not responding and will not be allocated any new work. If it stays non-responsive, it'll get placed in the DOWN state (except for COMPLETING, DRAINED, DRAINING, FAIL, FAILING nodes โ€” they're the exception squad).
  • ~ โ€” the node is presently in powered off. sleep mode fr ๐Ÿ˜ด
  • # โ€” the node is presently being powered up or configured.
  • ! โ€” the node is pending power down.
  • % โ€” the node is presently being powered down.
  • $ โ€” the node is currently in a reservation with a flag value of "maintenance".
  • @ โ€” the node is pending reboot.
  • ^ โ€” the node reboot was issued.
  • - โ€” the node is planned by the backfill scheduler for a higher priority job. prioritizing, iconic โญ
  • ALLOCATED โ€” the node has been allocated to one or more jobs.
  • ALLOCATED+ โ€” the node is allocated to one or more active jobs, plus one or more jobs are in the process of COMPLETING.
  • BLOCKED โ€” the node has been blocked by exclusive topo job.
  • COMPLETING โ€” all jobs associated with this node are in the process of COMPLETING. This node state gets removed when all of the job's processes have terminated and the Slurm epilog program (if any) has terminated too. And while a node is in the COMPLETING state, it is not eligible for new job placement, and no jobs will be scheduled on it. See the Epilog parameter description in the slurm.conf(5) man page for more info.
  • DOWN โ€” the node is unavailable for use. Slurm can automatically drop nodes into this state if some failure occurs, and system administrators may also explicitly place nodes in this state. But if a node resumes normal operation, Slurm can automatically return it to service ๐Ÿซถ See the ReturnToService and SlurmdTimeout parameter descriptions in the slurm.conf(5) man page.
  • DRAINED โ€” the node is unavailable for use per system administrator request. See the update node command in the scontrol(1) man page or the slurm.conf(5) man page.
  • DRAINING โ€” the node is currently allocated a job, but will not be allocated additional jobs. The node state changes to DRAINED once the last job on it completes. Nodes enter this state per system administrator request. See the update node command in the scontrol(1) man page or the slurm.conf(5) man page.
  • FAIL โ€” the node is expected to fail soon and is unavailable for use per system administrator request. See the update node command in the scontrol(1) man page or the slurm.conf(5) man page.
  • FAILING โ€” the node is currently executing a job, but it's expected to fail soon and is unavailable for use per system administrator request. See the update node command in the scontrol(1) man page or the slurm.conf(5) man page.
  • FUTURE โ€” the node is currently not fully configured, but it's expected to be available at some point in the indefinite future for use. manifesting โœจ
  • IDLE โ€” the node is not allocated to any jobs and is available for use. living its best life ๐ŸŒธ
  • INVAL โ€” the node did not register correctly with the controller. This happens when a node registers with less resources than what's configured in the slurm.conf file. The node will clear from this state with a valid registration (i.e. a slurmd restart is required).
  • MAINT โ€” the node is currently in a reservation with a flag value of "maintenance".
  • REBOOT_ISSUED โ€” a reboot request has been sent to the agent configured to handle this request.
  • REBOOT_REQUESTED โ€” a request to reboot this node has been made, but it hasn't been handled yet. pending, bestie โณ
  • MIXED โ€” the node has some of its CPUs ALLOCATED while others are IDLE. Or, the node has a suspended job allocated to some of its TRES (e.g. memory). both things at once, multitalented ๐Ÿ’…
  • PLANNED โ€” the node is planned by the backfill scheduler for a higher priority job.
  • POWER_DOWN โ€” the node is pending power down.
  • POWERED_DOWN โ€” the node is currently powered down and not capable of running any jobs.
  • POWERING_DOWN โ€” the node is in the process of powering down and not capable of running any jobs.
  • POWERING_UP โ€” the node is in the process of being powered up.
  • RESERVED โ€” the node is in an advanced reservation and not generally available.
  • UNKNOWN โ€” the Slurm controller has just started and the node's state has not yet been determined. mystery era ๐Ÿ”ฎ

๐Ÿ”ฅ PERFORMANCE ๐Ÿ”ฅ

Okay so real talk, this part matters. Executing sinfo sends a remote procedure call to slurmctld. And if enough calls from sinfo โ€” or other Slurm client commands that send remote procedure calls to the slurmctld daemon โ€” come in at once, it can result in a degradation of performance of the slurmctld daemon, possibly resulting in a denial of service. not the vibe, we do not want that ๐Ÿ’€

Do not run sinfo or other Slurm client commands that send remote procedure calls to slurmctld from loops in shell scripts or other programs. Seriously. Don't. ๐Ÿ™ˆ

And make sure your programs limit calls to sinfo to the minimum necessary for the information you're actually trying to gather. be mindful, bestie ๐Ÿซถ

๐Ÿซถ ENVIRONMENT VARIABLES ๐Ÿซถ

okay so bestie, some of these sinfo options can be set through environment variables too, which is giving lazy-girl-enablement in the best way ๐Ÿ’…. Here's every single one of them with the option they're basically cosplaying as. NOTE (and this is the important part โœจ): command line options will always override these settings, no cap. Env vars are the vibe, but the command line is the main character. ๐Ÿ‘‘

  • SINFO_ALL โ€” same as -a, --all ๐ŸŒˆ
  • SINFO_FEDERATION โ€” same as --federation ๐Ÿฆ‹
  • SCONTROL_FUTURE โ€” same as -F, --future โญ
  • SINFO_FORMAT โ€” same as -o <output_format>, --format=<output_format> ๐ŸŽ€
  • SINFO_LOCAL โ€” same as --local ๐Ÿ’œ
  • SINFO_PARTITION โ€” same as -p <partition>, --partition=<partition> ๐ŸŒธ
  • SINFO_SORT โ€” same as -S <sort>, --sort=<sort> ๐Ÿ’–
  • SLURM_CLUSTERS โ€” same as --clusters ๐Ÿงš
  • SLURM_CONF โ€” the location of the Slurm configuration file. ๐Ÿ“
  • SLURM_DEBUG_FLAGS โ€” specify debug flags for sinfo to use. Peep DebugFlags in the slurm.conf(5) man page for the full list of flags. This environment variable takes precedence over the setting in the slurm.conf. ๐Ÿ‘‘
  • SLURM_JSON โ€” controls JSON serialization:
    • compact โ€” output JSON as compact as possible.
    • pretty โ€” output JSON in pretty format to make it more readable. โœจ
  • SLURM_TIME_FORMAT โ€” specifies the format used to report time stamps. A value of standard (which is the default value, btw) generates output in the form "year-month-dateThour:minute:second". A value of relative returns only "hour:minute:second" if it's the current day. For other dates in the current year it prints the "hour:minute" preceded by "Tomorr" (tomorrow), "Ystday" (yesterday), or the name of the day for the coming week (like "Mon", "Tue", etc.), otherwise it's the date (like "25 Apr"). For years that aren't the current one, it returns a date, month and year with no time at all (like "6 Jun 2012"). All of the time stamps use a 24 hour format. โฐ

A valid strftime() format can also be specified, bestie. For example, a value of "%a %T" will report the day of the week and a time stamp (like "Mon 12:34:56"). iconic behavior fr fr ๐Ÿ’–

  • SLURM_YAML โ€” controls YAML serialization:
    • compact โ€” output YAML as compact as possible.
    • pretty โ€” output YAML in pretty format to make it more readable. ๐ŸŒธ

๐ŸŒˆ EXAMPLES ๐ŸŒˆ

here's where it gets fun, bestie โ€” let's actually run this thing ๐Ÿซถ

Report basic node and partition configurations:

$ sinfo
PARTITION AVAIL TIMELIMIT NODES STATE  NODELIST
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]

Report partition summary information:

$ 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]

Report more complete information about the partition debug:

$ 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]

Report only those nodes that are in state DRAINED:

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

Report node-oriented information with details and exact matches:

$ 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)

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

$ sinfo -R
REASON                              NODELIST
Memory errors                       dev[0,5]
Not Responding                      dev8

๐Ÿ’œ COPYING ๐Ÿ’œ

Copyright (C) 2002-2007 The Regents of the University of California. Produced at Lawrence Livermore National Laboratory (cf, DISCLAIMER). Copyright (C) 2008-2009 Lawrence Livermore National Security. Copyright (C) 2010-2022 SchedMD LLC.

This file is part of Slurm, a resource management program. For details, see <https://slurm.schedmd.com/>.

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 ๐Ÿฆ‹

the extended slay-verse of friends and neighbors, go give them a read bestie:

  • scontrol(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)

and that's the whole page, bestie!! ๐ŸŽ€ you just read the entire sinfo(1) manual from top to bottom, which is lowkey iconic of you. this masterpiece is brought to you by Slurm 26.05, filed under the Slurm Commands girlies, and it ate, no crumbs. go check your nodes, stay drained-free, and remember: the command line always overrides the env var. ๐Ÿ’…โœจ๐Ÿ‘‘

๐Ÿ“ฆ where this page comes from