sstat(1)
β¨ sstat(1) β¨
okay bestie, pull up a chair, we're reading the sstat page from the Slurm Commands manual and honestly? it's giving diagnostic main character energy π
πΈ NAME πΈ
sstat β Display the status information of a running job/step. fr fr, that's the whole job.
π¦ SYNOPSIS π¦
sstat [OPTIONS...]
that's it. that's the whole thing. no positional args, no drama, just vibes and options β¨
π DESCRIPTION π
So this is status information for running jobs invoked with Slurm. The sstat command displays job status information for your analysis. Like, it's here to help you look at your job, not to judge it.
The sstat command displays information pertaining to CPU, Task, Node, Resident Set Size (RSS) and Virtual Memory (VM). And you can tailor the output with the use of the --fields= option to specify the fields to be shown. customise your little heart out π
For the root user, the sstat command displays job status data for any job running on the system. root really said "I see everything" π
For the non-root user, the sstat output is limited to the user's jobs. literally just your own business. privacy era π«Ά
NOTE: Thesstatcommand requires that thejobacct_gatherplugin be installed and operational.
NOTE: Availability of metrics rely on thejobacct_gatherplugin used. For example thejobacct_gather/cgroupin combination withcgroup/v2does not provide Virtual Memory metrics due to limitations in the kernel cgroups interfaces and will show a0for the related fields. so if you see a zero, it's not you, it's the kernel π
β¨ OPTIONS β¨
-a,--allstepsβ Print all steps for the given job(s) when no step is specified. all of them. the whole roster.-o,--format,--fieldsβ Comma separated list of fields. (use--helpformatfor a list of available fields).
NOTE: When using the format option for listing various fields you can put a %NUMBER afterwards to specify how many characters should be printed.
i.e. format=name%30 will print 30 characters of field name right justified. A -30 will print 30 characters left justified. little alignment moment, slay π
-h,--helpβ Displays a general help message.-e,--helpformatβ Print a list of fields that can be specified with the--formatoption.-j,--jobsβ Format is<job(.step)>. Stat this job step or comma-separated list of job steps. Jobs may be specified by numeric job ID or by SLUID. This option is required. When no step is specified, only the lowest numbered normal step (excluding batch, extern, etc.) is displayed. Use the--allstepsflag to display all running steps for the given job(s).
NOTE: A step id of batch will display the information about the batch step.
NOTE: A step id ofexternwill display the information about the extern step. This step is only available when usingPrologFlags=contain
--noconvertβ Don't convert units from their original type (e.g.2048Mwon't be converted to2G). raw data stays raw, no glow-up applied π-n,--noheaderβ No heading will be added to the output. The default action is to display a header.-p,--parsableβ output will be|delimited with a|at the end-P,--parsable2β output will be|delimited without a|at the end. yes these two are just vibing one pipe apart, stay with me π-i,--pidformatβ Predefined format to list the pids running for each job step. (JobId,Nodes,Pids)--usageβ Display a command usage summary.-v,--verboseβ Primarily for debugging purposes, report the state of various variables during processing.-V,--versionβ Print version.
π Job Status Fields π
Descriptions of each field option can be found below. Note that the Ave*, Max* and Min* accounting fields look at the values for all the tasks of each step in a job and return the average, maximum or minimum values of the task for that job step. For example, for MaxRSS, the returned value is the maximum memory consumption seen by one of the tasks of the step, and MaxRSSTask shows which task it is. iykyk π§
AllocTRESβ Allocated TRES of all tasks in job.AveCPUβ Average (system + user) CPU time of all tasks in job.AveCPUFreqβ Average weighted CPU frequency of all tasks in job, in kHz.AveDiskReadβ Average number of bytes read by all tasks in job.AveDiskWriteβ Average number of bytes written by all tasks in job.AvePagesβ Average number of page faults of all tasks in job.AveRSSβ Average resident set size of all tasks in job.AveVMSizeβ Average Virtual Memory size of all tasks in job.ConsumedEnergyβ Total energy consumed by all tasks in job, in joules. Note: Only in case of exclusive job allocation this value reflects the jobs' real energy consumption.JobIDβ The number of the job or job step. It is in the form:job.jobstepMaxDiskReadβ Maximum number of bytes read by all tasks in job.MaxDiskReadNodeβ The node on which themaxdiskreadoccurred.MaxDiskReadTaskβ The task ID where themaxdiskreadoccurred.MaxDiskWriteβ Maximum number of bytes written by all tasks in job.MaxDiskWriteNodeβ The node on which themaxdiskwriteoccurred.MaxDiskWriteTaskβ The task ID where themaxdiskwriteoccurred.MaxPagesβ Maximum number of page faults of all tasks in job.MaxPagesNodeβ The node on which themaxpagesoccurred.MaxPagesTaskβ The task ID where themaxpagesoccurred.MaxRSSβ Maximum resident set size of all tasks in job.MaxRSSNodeβ The node on which themaxrssoccurred.MaxRSSTaskβ The task ID where themaxrssoccurred.MaxVMSizeβ Maximum Virtual Memory size of all tasks in job.MaxVMSizeNodeβ The node on which themaxvsizeoccurred.MaxVMSizeTaskβ The task ID where themaxvsizeoccurred.MinCPUβ Minimum (system + user) CPU time of all tasks in job.MinCPUNodeβ The node on which themincpuoccurred.MinCPUTaskβ The task ID where themincpuoccurred.NTasksβ Total number of tasks in a job or step.ReqCPUFreqβ Requested CPU frequency for the step, in kHz.SLUIDβ The Slurm Lexicographically-sortable Unique Identifier assigned to the job. This value remains constant during the lifetime of the job, even after a resize. Be aware that the accounting database tracks a separate SLUID per accounting record that changes on resize or requeue.TresUsageInAveβ Tres average usage in by all tasks in job. NOTE: If correspondingTresUsageInMaxTaskis-1the metric is node centric instead of task.TresUsageInMaxβ Tres maximum usage in by all tasks in job. NOTE: If correspondingTresUsageInMaxTaskis-1the metric is node centric instead of task.TresUsageInMaxNodeβ Node for which each maximum TRES usage out occurred.TresUsageInMaxTaskβ Task for which each maximum TRES usage out occurred.TresUsageOutAveβ Tres average usage out by all tasks in job. NOTE: If correspondingTresUsageOutMaxTaskis-1the metric is node centric instead of task.TresUsageOutMaxβ Tres maximum usage out by all tasks in job. NOTE: If correspondingTresUsageOutMaxTaskis-1the metric is node centric instead of task.TresUsageOutMaxNodeβ Node for which each maximum TRES usage out occurred.TresUsageOutMaxTaskβ Task for which each maximum TRES usage out occurred.
π PERFORMANCE π
okay this part is the serious part, listen up bestie π€
Executing sstat sends a remote procedure call to slurmctld. If enough calls from sstat 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. not the cute kind of slay. the bad kind π
Do not runsstator other Slurm client commands that send remote procedure calls toslurmctldfrom loops in shell scripts or other programs. Ensure that programs limit calls tosstatto the minimum necessary for the information you are trying to gather. please. for the love of the cluster. π
π ENVIRONMENT VARIABLES π
Some sstat options may be set via environment variables. These environment variables, along with their corresponding options, are listed below. (Note: Command line options will always override these settings.) the command line is the main character here, always π
SLURM_CONFβ The location of the Slurm configuration file.SLURM_DEBUG_FLAGSβ Specify debug flags forsstatto use. SeeDebugFlagsin theslurm.conf(5)man page for a full list of flags. The environment variable takes precedence over the setting in theslurm.conf.
π EXAMPLES π
Display job step information for job 11 with the specified fields:
$ sstat --format=AveCPU,AvePages,AveRSS,AveVMSize,JobID -j 11
25:02.000 0K 1.37M 5.93M 9.0
Display job step information for job 11 with the specified fields in a parsable format:
$ sstat -p --format=AveCPU,AvePages,AveRSS,AveVMSize,JobID -j 11
25:02.000|0K|1.37M|5.93M|9.0|
see that little trailing pipe? that's -p for you. iconic behaviour honestly π
π 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 π
sacct(1) β yes bestie, go read that one next, it's the same family πΈ
and that's the whole page!! this was sstat(1) from the Slurm Commands manual, Slurm 26.05 edition π¦β¨ stay nosy, stay curious, and please stop calling slurmctld in a for loop, I'm begging π«Άπ
π¦ 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