Complete Slurm keyboard shortcuts and commands reference — 17 shortcuts across 3 categories. Quick reference cheat sheet for Windows & Mac.
Slurm is the scheduler on most HPC clusters, and this page lists the commands a user needs to submit, watch and account for jobs: the s-commands. The descriptions are terse because the commands are; the notes explain which one to reach for in each situation and the flags that matter on a GPU cluster.
| Shortcut | Action | Description |
|---|---|---|
| sbatch script.sh | Submit batch job | Submit a job script for later execution. The script contains #SBATCH directives specifying resources like nodes, time, and memory. |
| srun --pty bash | Interactive session | Start an interactive allocation and open a shell directly on a compute node. |
| salloc -N1 -c4 | Allocate resources | Request an interactive resource allocation (1 node, 4 cores) without launching a task yet. |
| sbcast file /tmp/file | Broadcast file | Copy a file from local disk to local storage on every node allocated to a job. |
| Shortcut | Action | Description |
|---|---|---|
| squeue | View job queue | List queued and running jobs across the cluster with their state (R=running, PD=pending). |
| squeue -u $USER | View own jobs | Filter the queue to show only jobs submitted by the current user. |
| scancel jobid | Cancel job | Cancel a pending or running job by its job ID. |
| scancel -u $USER | Cancel all your jobs | Cancel every job currently submitted by the current user. |
| sattach jobid.stepid | Attach to job | Attach terminal input, output, and error streams to a currently running job step. |
| Shortcut | Action | Description |
|---|---|---|
| sinfo | Cluster status | Show the state of partitions and nodes managed by Slurm. |
| sinfo -N -l | Node detail | List every node individually with CPU count, memory, and state in long format. |
| scontrol show job jobid | Job details | Show comprehensive configuration and state details for a specific job. |
| scontrol show node name | Node details | Show hardware configuration and current state of a specific node. |
| sacct -j jobid | Job accounting | Report accounting information (CPU time, memory, exit code) for a completed or running job. |
| sacct -u $USER --starttime today | Today's jobs | List today's jobs for the current user along with resource usage. |
| sprio | Job priority | Show the factors contributing to a pending job's scheduling priority. |
| sshare | Fair-share usage | Show a user's or account's fair-share usage of the cluster over time. |
The most essential Slurm shortcuts are: sbatch script.sh (Submit batch job), srun --pty bash (Interactive session), salloc -N1 -c4 (Allocate resources).
These are command-line commands — type them in your terminal or console. Combine them with shell history search (Ctrl + R) and aliases to work even faster.
The Slurm shortcut for submit batch job is sbatch script.sh. Submit a job script for later execution. The script contains #SBATCH directives specifying resources like nodes, time, and memory.
Yes — use My Stack to combine Slurm shortcuts with any other platform on this site into one printable reference, which is useful if your daily workflow spans several tools.
sbatch script.sh submits a batch script whose #SBATCH lines request nodes, GPUs, time and a partition; it returns a job ID immediately and the job runs when resources free up. srun --pty bash asks for an interactive shell on a compute node — for debugging, not for running production work — and salloc -N1 -c4 reserves resources without running anything so several srun steps can share the allocation. sbcast file /tmp/file copies a file to every node of an allocation faster than a shared filesystem when hundreds of nodes need it.
squeue shows the whole queue and squeue -u $USER only your jobs, with state (PD pending, R running) and the reason a pending job waits — Priority, Resources, or a limit. scontrol show job jobid prints everything about one job, including the exact nodes and the requested versus allocated GPUs. scancel jobid kills one job, scancel -u $USER kills all of yours, and sattach jobid.stepid connects to the I/O of a running step.
sinfo shows partitions and node states (idle, alloc, drain, down) and sinfo -N -l lists nodes individually with CPUs, memory and features such as GPU type; scontrol show node name gives one node in full. sacct -j jobid reports what a finished job used — elapsed time, max memory, exit code — and sacct -u $USER --starttime today lists the day's jobs. sprio explains a pending job's priority components and sshare shows fair-share usage, which together answer "why is my job behind theirs".
Open your assistant with this page preloaded as the source — great for follow-up questions like "which of these work in other apps?"