Skip to content

Configuration

Exercises

  1. Find a specific configuration parameter with scontrol

Use scontrol show config to determine the current value of SchedulerParameters. Identify which backfill settings are active on the running cluster.

Hint / Solution
scontrol show config | grep SchedulerParameters
# Example output:
# SchedulerParameters = bf_max_job_test=5000,bf_interval=30,bf_resolution=600

# You can also check other parameters the same way:
scontrol show config | grep SelectType
scontrol show config | grep PriorityWeight
Expected output: Validated 2026-04-15 on slurm-training-val (Slurm 25.11.4, ParallelCluster 3.15.0).
$ scontrol show config | grep SchedulerParameters
SchedulerParameters     = nohold_on_prolog_fail
  1. Change the slurmctld debug level temporarily

Increase the controller debug level to debug2 for troubleshooting, verify it took effect, then set it back to info. Do this without editing slurm.conf or restarting any daemon.

Hint / Solution
# Increase debug level (takes effect immediately)
scontrol setdebug debug2

# Verify the change
scontrol show config | grep SlurmctldDebug
# Should show: SlurmctldDebug = debug2

# Watch logs briefly to confirm verbose output
tail -5 /var/log/slurm/slurmctld.log

# Reset to normal
scontrol setdebug info
scontrol show config | grep SlurmctldDebug
Expected output: Validated 2026-04-15 on slurm-training-val (Slurm 25.11.4, ParallelCluster 3.15.0).
$ sudo /opt/slurm/bin/scontrol setdebug debug2

$ scontrol show config | grep SlurmctldDebug
SlurmctldDebug          = debug2

$ scontrol show config | grep SlurmctldDebug
SlurmctldDebug          = info
  1. Add a new node definition

Add a new high-memory node bigmem5 with 128 CPUs and 2 TB of RAM to slurm.conf, place it in the highmem partition, and apply the change. Verify the node appears in sinfo.

Hint / Solution
# Edit slurm.conf -- add to the node definitions section:
#   NodeName=bigmem5 CPUs=128 RealMemory=2048000
# Update the highmem partition line:
#   PartitionName=highmem Nodes=bigmem[1-4],bigmem5 ...

# Apply the change (adding a node requires a restart, not just reconfigure)
systemctl restart slurmctld

# On the new node, start slurmd
ssh bigmem5 systemctl start slurmd

# Verify
sinfo -n bigmem5
scontrol show node bigmem5
Expected output: Validated 2026-04-15 on slurm-training-val (Slurm 25.11.4, ParallelCluster 3.15.0).
$ scontrol show partition val_extra
PartitionName=val_extra
   AllowGroups=ALL AllowAccounts=ALL AllowQos=ALL
   AllocNodes=ALL Default=NO QoS=N/A
   DefaultTime=NONE DisableRootJobs=NO ExclusiveUser=NO ExclusiveTopo=NO GraceTime=0 Hidden=NO
   MaxNodes=UNLIMITED MaxTime=UNLIMITED MinNodes=0 LLN=NO MaxCPUsPerNode=UNLIMITED MaxCPUsPerSocket=UNLIMITED
   Nodes=val_node1
   PriorityJobFactor=1 PriorityTier=1 RootOnly=NO ReqResv=NO OverSubscribe=NO
   OverTimeLimit=NONE PreemptMode=OFF
   State=UP TotalCPUs=1 TotalNodes=1 SelectTypeParameters=NONE
   JobDefaults=(null)
   DefMemPerNode=UNLIMITED MaxMemPerNode=UNLIMITED
   TRES=cpu=1,mem=128M,node=1,billing=1
   ResumeTimeout=GLOBAL SuspendTimeout=GLOBAL SuspendTime=GLOBAL PowerDownOnIdle=NO

$ scontrol show node val_node1 || true
Node val_node1 not found

$ sudo grep '^NodeName=val_node1' /opt/slurm/etc/slurm.conf
NodeName=val_node1 CPUs=1 RealMemory=128 State=FUTURE
  1. Reconfigure the cluster without a restart

Change DefaultTime on the batch partition from 01:00:00 to 02:00:00 in slurm.conf, then apply the change using scontrol reconfigure. Verify the new default is active.

Hint / Solution
# Edit slurm.conf -- change the batch partition line:
#   PartitionName=batch ... DefaultTime=02:00:00 ...

# Apply without restart
scontrol reconfigure

# Verify the change took effect
scontrol show partition batch | grep DefaultTime
# Should show: DefaultTime=02:00:00
Expected output: Validated 2026-04-15 on slurm-training-val (Slurm 25.11.4, ParallelCluster 3.15.0).
$ scontrol show partition val_extra2
PartitionName=val_extra2
   AllowGroups=ALL AllowAccounts=ALL AllowQos=ALL
   AllocNodes=ALL Default=NO QoS=N/A
   DefaultTime=NONE DisableRootJobs=NO ExclusiveUser=NO ExclusiveTopo=NO GraceTime=0 Hidden=NO
   MaxNodes=UNLIMITED MaxTime=UNLIMITED MinNodes=0 LLN=NO MaxCPUsPerNode=UNLIMITED MaxCPUsPerSocket=UNLIMITED
   Nodes=val_node2
   PriorityJobFactor=1 PriorityTier=1 RootOnly=NO ReqResv=NO OverSubscribe=NO
   OverTimeLimit=NONE PreemptMode=OFF
   State=UP TotalCPUs=2 TotalNodes=1 SelectTypeParameters=NONE
   JobDefaults=(null)
   DefMemPerNode=UNLIMITED MaxMemPerNode=UNLIMITED
   TRES=cpu=2,mem=256M,node=1,billing=2
   ResumeTimeout=GLOBAL SuspendTimeout=GLOBAL SuspendTime=GLOBAL PowerDownOnIdle=NO

References