slurmctld(8)
๐ slurmctld(8) โ the Slurm Daemon girlie herself ๐
okay so bestie, welcome to section 8 of the manual, the one and only slurmctld page. this is the main-character daemon of Slurm and she's about to explain herself. buckle up ๐
โจ NAME โจ
slurmctld โ the central management daemon of Slurm. yes. the central one. the queen bee ๐
๐ฆ SYNOPSIS ๐ฆ
slurmctld [OPTIONS...]
๐ธ DESCRIPTION ๐ธ
okay so slurmctld is literally the central management daemon of Slurm. she monitors all the other Slurm daemons and resources, she accepts work (that's jobs, bestie), and she allocates resources to those jobs. it's giving head girl energy ๐
and because her functionality is so critical, you can have a backup server ready to assume all of these functions in the event that the primary server fails. a literal understudy. slay ๐
โจ OPTIONS โจ
-cโ Discard previousslurmctldstate from its last checkpoint. and bestie, this is brutal: all running and queued jobs will be killed and all node states reset, including theStateandReasonfields ofDOWN,DRAINED, andDRAININGnodes. The last job ID, reservation state, and association/QOS usage are unaffected by this option. Dynamically created nodes are not recreated, and reservations naming them lose those nodes and may be deleted. If the state is unreadable due to a version mismatch,slurmctldwill still refuse to start unless-iis also given.
โ ๏ธ NOTE: It is rare you would ever want to use this in production as all jobs will be killed. like, for real. don't. ๐ญ
-Dโ Runslurmctldin the foreground with logging copied to stderr. This limits the resilience ofscontrol reconfigureand should be avoided in production. cute for debugging, not cute for prod ๐ซถ-f<file> โ Read configuration from the specified file. See NOTES below. ๐-hโ Help; print a brief summary of command options. classic.-iโ Ignore errors found while reading in state files on startup.
โ ๏ธ Warning: Use of this option will mean losing the data that wasn't recovered from the state files. gone. lost. poof. ๐
-L<file> โ Write log messages to the specified file.-n<value> โ Set the daemon's nice value to the specified value, typically a negative number. be nice. or don't ๐-rโ Recover partial state from last checkpoint: jobs and nodeDOWN/DRAINstate and reason information state. No partition state is recovered. This is the default action. (so if you do nothing, this is what you get โจ)-Rโ Recover full state from last checkpoint: jobs, node, partition state, and power save settings. Without this option, previously running jobs will be preserved along with nodeStateofDOWN,DRAINEDandDRAININGnodes and the associatedReasonfield for those nodes. No other node or partition state will be preserved.-sโ Change working directory ofslurmctldtoSlurmctldLogFilepath if possible, or to Slurm'sStateSaveLocationotherwise. If both of them fail it will fallback to/var/tmp. it's giving "wherever i end up, i end up" ๐--systemdโ Use when starting the daemon with systemd. This will allowslurmctldto notify systemd of the new PID when usingscontrol reconfigure.
โ ๏ธ NOTE: TheUserandGroupoptions in theslurmctld's systemd unit file need to both specify theSlurmUser. both of them. yes. ๐ซถ
-vโ Verbose operation. Multiple v's can be specified, with each 'v' beyond the first increasing verbosity, up to 6 times (i.e.-vvvvvv). six v's max, bestie, that's the whole ladder ๐-Vโ Print version information and exit.
๐ง ENVIRONMENT VARIABLES ๐ง
The following environment variables can be used to override settings compiled into slurmctld. yes, you can vibe-check her via env vars ๐
ABORT_ON_FATALโ When a fatal error is detected, useabort()instead ofexit()to terminate the process. This allows backtraces to be captured without recompiling Slurm. very forensic of you ๐ฅSLURM_CONFโ The location of the Slurm configuration file. This is overridden by explicitly naming a configuration file on the command line. (command line stays winning ๐)SLURM_DEBUG_FLAGSโ Specify debug flags for the scheduler to use. SeeDebugFlagsin theslurm.conf(5)man page for a full list of flags. The environment variable takes precedence over the setting in theslurm.conf.
๐ฆ HTTP server ๐ฆ
Unless disabled via CommunicationParameters=disable_http in slurm.conf, slurmctld will accept incoming HTTP/1.1 compliant requests to any socket listening as configured by SlurmctldPort in slurm.conf. Authentication of HTTP requests is not supported. TLS wrapping optionally supported without requiring TLSType in slurm.conf. very chill of her, honestly ๐
The following endpoints are currently supported:
GET /โ Get list of endpoints.GET /healthzโ Test ifslurmctldloaded successfully.GET /livezโ Test ifslurmctldloaded successfully.GET /readyz[?verbose]โ Test ifslurmctldis ready to accept incoming RPCs. Adding theverbosequery parameter will result in a verbose output of each probe in the response.GET /metrics/jobsโ Get job metrics.GET /metrics/nodesโ Get node metrics.GET /metrics/partitionsโ Get partition metrics.GET /metrics/schedulerโ Return scheduler metrics.GET /metrics/jobs-users-acctsโ Return user and account job metrics.
When multiple SlurmctldHost entries are configured, a daemon in standby mode will answer GET /metrics* with HTTP 303 "See Other" with the Location header pointing to the same path and query on the first listed controller. If no such address is available, the response will be HTTP 503 "Service Unavailable" instead of a redirect. See SlurmctldHost in slurm.conf(5). she's literally forwarding your call, so polite ๐
๐ CORE FILE LOCATION ๐
If slurmctld is started with the -D option then the core file will be written to the current working directory.
Otherwise, if SlurmctldLogFile is a fully qualified path name (starting with a slash), the core file will be written to the same directory as the log file, provided SlurmUser has write permission on the directory.
Otherwise the core file will be written to the StateSaveLocation, or "/var/tmp/" as a last resort.
If none of the above directories have write permission for SlurmUser, no core file will be produced. and honestly? she tried. ๐ญ
๐ฅ SIGNALS ๐ฅ
SIGTERMSIGINTSIGQUITโslurmctldwill shutdown cleanly, saving its current state to the state save directory. graceful queen behavior โจSIGABRTโslurmctldwill shutdown cleanly, saving its current state, and perform a core dump. dramatic exit, still tidy ๐SIGHUPโ Reloads the slurm configuration files, similar toscontrol reconfigure.SIGTSTPโ Stop the process from a terminal. This also stopsslurmscriptd. (yes, she takesslurmscriptdwith her ๐ซถ)SIGUSR2โ Reread the log level from the configs, and then reopen the log file. This should be used when setting uplogrotate(8).SIGPROFโ Logs connection manager state when debug level is at leastinfo.SIGCHLDSIGUSR1SIGXCPUSIGPIPESIGALRMโ These signals are explicitly ignored. not her problem, blocked, unbothered ๐
๐ NOTES ๐
It may be useful to experiment with different slurmctld specific configuration parameters using a distinct configuration file (e.g. timeouts). However, this special configuration file will not be used by the slurmd daemon or the Slurm programs, unless you specifically tell each of them to use it. If you desire changing communication ports, the location of the temporary file system, or other parameters used by other Slurm components, change the common configuration file, slurm.conf. iykyk โ one config for the whole friend group ๐
๐ COPYING ๐
Copyright (C) 2002-2007 The Regents of the University of California. Copyright (C) 2008-2010 Lawrence Livermore National Security. Copyright (C) 2010-2022 SchedMD LLC. Produced at Lawrence Livermore National Laboratory (cf, DISCLAIMER). CODE-OCEC-09-009. All rights reserved.
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 โญ
slurm.conf(5), slurmd(8) โ go read those too bestie, they're icons in their own right ๐ซถ
and that's the whole page! this was slurmctld(8) from the Slurm Daemon manual, version Slurm 26.05 โ same version, same manual section, all the facts intact, zero notes lost. mwah ๐โจ๐
๐ฆ where this page comes from
- arch rolling: slurm-llnl 26.05.5.1-1 ยท GPL-2.0-or-later
- epel 10: slurm-slurmctld 26.05.5-1.el10_3 ยท GPL-2.0-or-later AND BSD-2-Clause AND BSD-1-Clause
- nixpkgs unstable: slurm 26-05-5-1
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms