Configuration
Exercises¶
- 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
slurm-training-val (Slurm 25.11.4, ParallelCluster 3.15.0).
- 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
slurm-training-val (Slurm 25.11.4, ParallelCluster 3.15.0).
- 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
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
- 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
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