LinuxCommandLibrary

sreport

Report Slurm usage and accounting data

TLDR

Show pipe delimited cluster utilization data

$ sreport [[-p|--parsable]] cluster utilization
copy

Show number of jobs run
$ sreport job sizes printjobcount
copy

Show users with the highest CPU time use
$ sreport user topuser
copy

SYNOPSIS

sreport [GLOBAL_OPTIONS] report_type [REPORT_OPTIONS]

PARAMETERS

--start=
    Specifies the beginning of the time period for the report. Format: YYYY-MM-DD[THH:MM[:SS]].

--end=
    Specifies the end of the time period for the report. Format: YYYY-MM-DD[THH:MM[:SS]].

--clusters=
    A comma-separated list of cluster names to include in the report. By default, all clusters are included.

--accounts=
    A comma-separated list of account names to include in the report.

--users=
    A comma-separated list of user names or UIDs to include in the report.

--format=
    A comma-separated list of fields to display in the report. Use 'help' for a list of available fields.

--parsable
    Output data in a machine-parsable format, typically with '|' as a delimiter.

--raw
    Output raw data (e.g., seconds instead of HH:MM:SS) for easier post-processing.

--file=
    Write the report output to the specified file instead of standard output.

DESCRIPTION

sreport is a command-line utility within the Slurm Workload Manager suite, designed to generate comprehensive reports from the Slurm accounting storage database (SlurmDBD). It provides administrators and users with insights into cluster usage, resource consumption, job statistics, and financial chargebacks.

The command can produce various types of reports, including aggregate data for users, accounts, clusters, and associations, as well as detailed job information and resource utilization metrics. Its flexibility allows filtering by time ranges, specific users or accounts, and different output formats (e.g., human-readable, parsable for scripting). By leveraging the rich data stored in SlurmDBD, sreport is an essential tool for monitoring, capacity planning, and auditing high-performance computing (HPC) environments.

CAVEATS

sreport relies entirely on the Slurm accounting storage database (SlurmDBD) being properly configured, running, and populated with data. If SlurmDBD is down or data is incomplete, reports will be inaccurate or unavailable.

Generating large or complex reports over extended periods can be resource-intensive on the SlurmDBD server and may take a considerable amount of time to complete.

User access to report data is governed by Slurm's security policies; typically, users can only view data related to their own accounts and jobs unless broader permissions are explicitly granted.

REPORT TYPES (SUBCOMMANDS)

sreport operates by specifying a report_type as a subcommand, which determines the nature of the report. Common report types include:
account: Provides aggregated data for specific accounts.
cluster: Offers cluster-wide statistics, often used with 'utilization'.
job: Summarizes job-level data, distinct from sacct's detailed per-job output.
user: Generates reports based on user activity.
utilization: Focuses on resource usage (e.g., CPU, GPU time), typically executed as 'sreport cluster utilization'.

DATA SOURCE

All data presented by sreport is retrieved from the Slurm accounting storage database (SlurmDBD). This database stores comprehensive records of jobs, users, accounts, associations, and resource usage, making sreport a powerful interface for analyzing historical cluster activity and trends.

HISTORY

sreport is an integral component of the Slurm Workload Manager, which was originally developed by Lawrence Livermore National Laboratory (LLNL) in 2002. As Slurm evolved to manage increasingly large and complex HPC clusters, the need for robust accounting and reporting capabilities became paramount. sreport emerged as a sophisticated tool to extract and present usage data from the Slurm accounting database (SlurmDBD), providing essential insights for resource management, chargeback, and capacity planning. Its development has paralleled Slurm's growth, continuously adapting to new features and data points tracked by the scheduler.

SEE ALSO

sacct(1), squeue(1), sinfo(1), slurm.conf(5), slurmdbd(8)

Copied to clipboard