sprio(1)
π sprio β bestie edition π
okay so you wanna know why your job is sitting in the queue like it's waiting for a text back? that's sprio, and she's about to spill the whole tea. this is the sprio manual page, straight from the Slurm Commands corner of the universe. π
β¨ NAME β¨
sprio β view the factors that comprise a job's scheduling priority
π¦ SYNOPSIS π¦
sprio [OPTIONS...]
πΈ DESCRIPTION πΈ
so sprio is your girl for peeking at the components of a job's scheduling priority β but only when the multi-factor priority plugin is installed, okay? she's a read-only utility, meaning she just extracts information from the multi-factor priority plugin. she does not touch anything, she does not start drama, she just reads. πβ¨
by default, sprio hands you info for all pending jobs. but if you want to be specific (and honestly, slay), there are options to display specific jobs by job ID and by user name. π
π OPTIONS π
-M,--clusters=<string>β the cluster you wanna slide into DMs with. only one cluster name may be specified, bestie, don't be greedy. ngl though:slurmdbdmust be up for this option to work properly, unless you're running in a federation with eitherFederationParameters=fed_displayconfigured or the--federationoption set. also this option implicitly sets the--localoption (sneaky iconic behavior).--federationβ show jobs in the federation if you're a member of one.-o,--format=<output_format>β this is where you choose what info gets displayed, plus its size and position (right or left justified). the default formats, when all factors have been assigned non-zero weights, are:
default "%.15i %9r %.10Y %.10S %.10A %.10B %.10F %.10J %.10P %.10Q %20T"
-l, --long "%.15i %9r %.8u %.8o %.10Y %.10S %.10A %.10B %.10F %.10J %.10P %.10n %.10Q %.11N %.20T";
the format of each field is "%[.][size]type".
sizeβ the minimum field size. if no size is specified, whatever is needed to print the information will be used. she adapts, she's flexible. β¨.β indicates the output should be left justified. by default, output is right justified.
valid type specifications include:
%aβ Normalized age priority%Aβ Weighted age priority%bβ Normalized association priority%Bβ Weighted association priority%cβ Cluster name. Only applicable for federated clusters%fβ Normalized fair-share priority%Fβ Weighted fair-share priority%iβ Job ID%jβ Normalized job size priority%Jβ Weighted job size priority%nβ QOS name%Nβ Nice adjustment%oβ Account name%pβ Normalized partition priority%Pβ Weighted partition priority%qβ Normalized quality of service priority%Qβ Weighted quality of service priority%rβ Partition name%sβ SLUID assigned to the job.%Sβ Weighted admin priority.%tβ Normalized TRES priorities%Tβ Weighted TRES priorities%uβ User name for a job%Yβ Job priority%yβ Normalized job priority
--helpβ print a help message describing all optionssprio. your little cheat sheet, bestie. π«Ά-j,--jobs=<job_id_list>β requests a comma separated list of job ids to display. defaults to all jobs. jobs may be specified by numeric job ID or by SLUID. choose your fighters. βοΈ--localβ show only jobs local to this cluster. ignore other clusters in this federation (if any). overrides--federation. she said not today to the other clusters. π-l,--longβ report more of the available information for the selected jobs. give me everything, periodt.-h,--noheaderβ do not print a header on the output. no labels, just vibes.-n,--normβ display the normalized priority factors for the selected jobs.-p,--partition=<partition_list>β requests a comma separated list of partitions to display. defaults to all partitions.--siblingβ show all sibling jobs on a federated cluster. without this option in a federated cluster, each job in each partition will have its priority and its components reported for only one cluster. each sibling job on the various clusters in the federation may have a different priority, which will not be reported without using this option. implicitly adds"%c"(cluster name) to the output format. family reunion energy, honestly. π-S,--sort=<sort_list>β specification of the order in which jobs should be reported. this uses the same field specification as<output_format>. multiple sorts may be performed by listing multiple sort fields separated by commas. the field specifications may be preceded by"+"or"-"for ascending (default) or descending respectively. for example, a<sort_list>of"u,r,-y"will sort the job priority reports by username, partition name, and descending job priority, in that order. the default<sort_list>is"i"(ascending job id).--usageβ print a brief help message listing thespriooptions. the tl;dr version.-u,--user=<user_list>β request jobs from a comma separated list of users. the list can consist of user names or user id numbers.-v,--verboseβ report details ofspriosactions. (yes that's how it's spelled in the original, bestie, i don't make the rules π)-V,--versionβ print version information and exit. bye bestie! π-w,--weightsβ display the configured weights for each factor. this is for information purposes only. actual job data is suppressed. just the numbers, no gossip.
π₯ PERFORMANCE π₯
okay this part is important so listen up. executing sprio sends a remote procedure call to slurmctld. if enough calls from sprio or other Slurm client commands that send remote procedure calls to the slurmctld daemon come in at once, it can result in a degradation of performance of the slurmctld daemon, possibly resulting in a denial of service.
do NOT runsprioor other Slurm client commands that send remote procedure calls toslurmctldfrom loops in shell scripts or other programs. ensure that programs limit calls tosprioto the minimum necessary for the information you are trying to gather. this is the "don't spam the group chat" rule and it is NOT optional. π¨
π ENVIRONMENT VARIABLES π
if no corresponding command line option is specified, sprio will use the value of the following environment variables.
SLURM_CLUSTERSβ same as--clustersSLURM_CONFβ the location of the Slurm configuration file.SLURM_DEBUG_FLAGSβ specify debug flags forsprioto use. seeDebugFlagsin theslurm.conf(5)man page for a full list of flags. the environment variable takes precedence over the setting in theslurm.conf.SPRIO_FEDERATIONβ same as--federationSPRIO_FORMATβ same as-o <output_format>,--format=<output_format>SPRIO_LOCALβ same as--localSPRIO_SIBLINGβ same as--sibling
π EXAMPLES π
print the list of all pending jobs with their weighted priorities
$ sprio
JOBID PRIORITY AGE FAIRSHARE JOBSIZE PARTITION QOS
65539 62664 0 51664 1000 10000 0
65540 62663 0 51663 1000 10000 0
65541 62662 0 51662 1000 10000 0
print the list of all pending jobs with their normalized priorities
$ sprio -n
JOBID PRIORITY AGE FAIRSHARE JOBSIZE PARTITION QOS
65539 0.00001459 0.0007180 0.5166470 1.0000000 1.0000000 0.0000000
65540 0.00001459 0.0007180 0.5166370 1.0000000 1.0000000 0.0000000
65541 0.00001458 0.0007180 0.5166270 1.0000000 1.0000000 0.0000000
print the job priorities for specific jobs
$ sprio --jobs=65548,65547
JOBID PRIORITY AGE FAIRSHARE JOBSIZE PARTITION QOS
65547 62078 0 51078 1000 10000 0
65548 62077 0 51077 1000 10000 0
print the job priorities for jobs of specific users
$ sprio --users=fred,sally
JOBID USER PRIORITY AGE FAIRSHARE JOBSIZE PARTITION QOS
65548 fred 62079 1 51077 1000 10000 0
65549 sally 62080 1 51078 1000 10000 0
print the configured weights for each priority component
$ sprio -w
JOBID PRIORITY AGE FAIRSHARE JOBSIZE PARTITION QOS
Weights 1000 100000 1000 10000 1
π COPYING π
Copyright (C) 2009 Lawrence Livermore National Security. Produced at Lawrence Livermore National Laboratory (cf, DISCLAIMER). Copyright (C) 2010-2022 SchedMD LLC.
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 π§
and that's the whole page, bestie!! this was sprio(1) from the Slurm Commands manual, brought to you by Slurm 26.05. go forth and check those priorities, you absolute icon. π
β¨π¦
π¦ where this page comes from
- arch rolling: slurm-llnl 26.05.5.1-1 Β· GPL-2.0-or-later
- epel 10: slurm 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
- ubuntu stonking: slurm-client 26.05.4-1ubuntu1 Β· GPL-2.0-or-later WITH OpenSSL exception
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms