Skip to main content
Monitoring node and job states is a key component of workload management. CoreWeave performs regular health checks on all nodes in a cluster, but monitoring the health of your own cluster can help with early detection of issues that could result in failed jobs and underutilized hardware. You have several options for monitoring Slurm node states. CoreWeave’s Slurm Cluster Grafana dashboard is a graphical option that includes time-series graphs that track nodes by state. Slurm also has built-in monitoring tools, sinfo and scontrol, which you can run directly in the Slurm login pod shell and customize to provide your desired output.

Slurm node states versus job states

Slurm node states describe the availability and health of the compute hardware in the cluster, while Slurm job states track the lifecycle of a specific workload initiated by a user in the cluster. The state of a Slurm node indicates whether the node is healthy and available to run workloads. For example, an IDLE Slurm node is healthy and available to run a Slurm job. An ALLOCATED Slurm node is healthy, but is already in use and isn’t currently available for additional workloads. In contrast, a Slurm node in the DOWN or DRAINED state isn’t available for new jobs, possibly due to an issue discovered during a routine node health check. Slurm node states can provide context about Slurm job states. When a workload is working as expected, the Slurm node may be in the ALLOCATED state while the Slurm job on that node is RUNNING. If a Slurm job is stuck in the PENDING state, checking the node state may reveal that the job is on a DOWN node.

Slurm node states

The following table contains a complete list of possible Slurm node states: Node state names may differ across Slurm versions. Refer to SchedMD’s Slurm documentation for more information.

Node state flags

Node states may also include flags, indicated by a special character appended to the state. For example, an asterisk * appended to any of the preceding states indicates that the node isn’t responding.
Nodes in a drain* or down* state have been removed from the cluster and you can ignore them. You may see this suffix if you checked the state while the pod wasn’t yet fully connected.

Check the state of a Slurm node

You can check the state of a Slurm node in multiple ways. The scontrol command provides a detailed view of node states, while sinfo provides a simple overview. Regardless of method used, you must connect to the Slurm login pod and run all Slurm commands from the Slurm login pod shell.

Connect to the Slurm login pod

To check node states with scontrol or sinfo, first connect to the Slurm login pod. After connecting to the Slurm login node, you can use the following scontrol and sinfo commands to examine node states.
Run all Slurm commands, including scontrol and sinfo, from within the Slurm login pod shell.

View detailed node states with scontrol

The scontrol command provides a detailed view of the node states.
Replace [NODE-NAME] with the name of the node you want to check, or remove the [NODE-NAME] entirely to list all nodes.

Command aliases for node monitoring

Alternatively, CoreWeave provides several aliases as part of the SUNK image. The sn alias runs the preceding scontrol show node command.
The dl alias lists all nodes that are idle or in drain, along with the reason for the state.
The dl alias runs the following commands:

See an overview of node states with sinfo

sinfo reports the state of partitions and nodes managed by Slurm and provides filtering, sorting, and formatting options.
This command provides the following information: Use the --help flag to view the help menu for the sinfo command.
sinfo sends a remote procedure call to slurmctld. Too many calls to the slurmctld daemon can lead to performance loss, and possibly result in a denial of service. Avoid calling sinfo in loops within shell scripts or other programs.

Customize the output format of sinfo

By default, sinfo groups nodes with a common configuration into a single line. The configuration includes partition, state, CPU count, and amount of memory. You can change this behavior using format specifiers. Slurm supports two options for customizing the output format of sinfo: --format and --Format. The syntax and capabilities of these options are different. This guide focuses on the --format option, as it provides greater flexibility and more granular control over the output format.

Output format options

The syntax for --format is a printf-style format string. Enclose all format and type specifiers in double quotes ", and attach them to the --format flag with an = sign, as shown in the following example:
See the following table for descriptions of each element of the preceding format string: Additional format options are detailed in the following table:

Format string syntax example

Here’s an example of how to use the --format flag to customize the output format of sinfo:
Group output by node state
The format string in the preceding command uses the following specifiers:
  • %10P - The partition name, with a width of 10 characters.
  • %20N - The node list, with a width of 20 characters.
  • %10T - The state of the node, in extended format, with a width of 10 characters.

Complete list of type specifiers

Use field type specifiers to indicate the information you want to display. Combine field type characters with format specifier flags to customize the output format. Many type specifiers are available to use in the format string. Type specifiers are case-sensitive.
Last modified on May 27, 2026