sreport

章节:Slurm 命令 (1)
更新:Slurm 命令
索引

 

名称

sreport - 从 slurm 计费数据生成报告。

 

概要

sreport [选项...] [命令...]

 

描述

sreport 用于生成 Slurm 作业的作业使用情况和集群利用率报告,这些数据保存在 Slurm 数据库中, slurmdbd。报告数据来自于每小时、每天和每月的计费数据汇总,这些汇总会在后台自动进行。数据将从能够满足请求报告周期的最长间隔的汇总表中提取。例如,关于时间范围“开始=01/01 结束=03/01”的报告将能够从每月汇总表中提取,而“开始=01/01-03:00 结束=03/01”的报告则需要使用每小时汇总表。

 

选项

-a, --all_clusters
使用所有集群,而不仅仅是执行命令的集群。

-M, --cluster
生成报告的集群。默认是本地集群,除非本地集群当前是一个联合体的一部分,在这种情况下生成当前联合体中所有集群的报告。如果联合体中包含的集群随着时间变化,请使用此选项来识别要包含在报告中的集群。隐含 --local。

--federation
如果是联合体的成员,则生成联合体的报告。

-h, --help
打印帮助信息,描述 sreport 的用法。

--local
即使在联合体中也为本地集群生成报告。 覆盖 --federation

-n, --noheader
列出结果时不显示标题。

-p, --parsable
输出将以 '|' 分隔,并在末尾加上 '|'。

-P, --parsable2
输出将以 '|' 分隔,末尾不加 '|'。

-Q, --quiet
不打印警告或信息消息,仅打印错误消息。

-t <time_format>
指定输出时间格式。时间格式选项不区分大小写,可以缩写。默认格式为分钟。 支持的时间格式选项在下面的 time 命令部分列出。

-T, --tres=<tres_names>
可跟踪资源 (TRES) 的报告值。 默认情况下,报告 CPU 资源使用情况(除预留报告外)。所有由预留保留的 TRES 类型将默认显示,除非使用此选项覆盖。 多个 TRES 名称可以使用逗号分隔的列表分开,适用于所有报告,除了作业报告,只能支持单个 TRES 名称,或“ALL”表示所有 TRES。

“报告的”计费 TRES 是从每个节点的最大计费 TRES 乘以时间框架计算得出的。例如,如果一个节点属于多个分区,并且每个分区定义了不同的 TRESBillingWeights,则该节点的计费 TRES 将是分区中最高的。如果在任何分区上未定义 TRESBillingWeights,则计费 TRES 将等于该节点上的 CPU 数量。

TRES 节点使用情况不再以百分比格式或集群利用率报告。请使用 TRES CPU。 使用节点的主要问题是在大多数配置中,多个作业能够在同一节点上运行。这使得 TRES 节点计费在同一时间段内多次计算同一节点。在独占节点配置中,CPU 计费返回的使用情况与节点计费相同。

-v, --verbose
打印详细事件日志。

-V , --version
打印版本信息并退出。

 

命令

<keyword> 可以从执行行中省略,sreport 将以交互模式执行。sreport 将处理输入的命令,直到明确终止。

exit
终止 sreport 的执行。 与 quit 命令相同。

help
显示 sreport 选项和命令的描述。

nonparsable
在设置了可解析或可解析2后返回正常输出。

parsable
输出将以 | 分隔,末尾加上 '|'。

parsable2
输出将以 | 分隔,末尾不加 '|'。

quiet
不打印警告或信息消息,仅打印致命错误消息。

quit
终止 sreport 的执行。 与 exit 命令相同。

time <time_format>
指定输出时间格式。时间格式选项不区分大小写,可以缩写。默认格式为分钟。 支持的时间格式选项包括:
SecPer
秒/总百分比

MinPer
分钟/总百分比

HourPer
小时/总百分比

Seconds

Minutes
分钟

Hours
小时

Percent
总百分比

verbose
启用详细事件日志。

version
显示 sreport 版本号。

!!
重复上一个执行的命令。

 

报告类型

有效的报告类型为:

cluster <报告> <选项>

job <报告> <选项>

reservation <报告> <选项>

user <报告> <选项>

<报告> 每种类型的选项包括:

cluster
AccountUtilizationByUser, AccountUtilizationByQOS, UserUtilizationByAccount, UserUtilizationByWckey, Utilization, WCKeyUtilizationByUser

job
SizesByAccount, SizesByAccountAndWcKey, SizesByWckey

reservation
Utilization

user
TopUsage

注意: 如果 OverSubscribe 在你的 slurm.conf 中配置为 FORCEYES 并且系统未配置为使用抢占(PreemptMode=OFF),则计费值可能会大于实际利用率。在这样的系统上,常见的情况是 slurmdbd 日志中出现错误消息:“我们分配的时间超过了可能的时间。”

 

报告描述

cluster AccountUtilizationByUser
此报告将显示账户利用率,如同在层次树中所示。默认情况下,从指定账户或根账户开始,此报告将列出每个级别的基础使用情况及其总和。使用“tree”选项可以展开树以获得更好的可视性。

注意: 空闲预留时间将在获得访问权限的账户/用户之间平均分配。当预留分配给整个账户时,时间将计入账户的关联,而不是账户中的用户关联。在这种情况下,父账户的使用情况可能会大于其子账户的总和。

cluster AccountUtilizationByQOS
此报告将显示账户利用率,如同在层次树中所示。默认情况下,从根账户开始,或从指定账户开始,此报告将列出每个账户的基础使用情况及其总和。使用“tree”选项可以展开树以获得更好的可视性。此处不显示用户,仅显示父账户。

注意: 空闲预留时间将在获得访问权限的账户之间平均分配。由于没有 QOS 直接与空闲时间相关联,因此时间将计入账户的默认 QOS,或在没有默认时计入“正常”。

注意: 如果你在数据库中重新汇总数据并且已将关联的默认 QOS 更改为与原始汇总时的不同,则可能会获得不同的数据。

cluster UserUtilizationByAccount
此报告将按账户显示用户的利用率,而不将多个账户按用户分组,而是将它们显示在单独的行上。

cluster UserUtilizationByWCKey
此报告将按 wckey 显示用户的利用率,而不将多个 wckey 按用户分组,而是将它们显示在单独的行上。

cluster Utilization
此报告将显示在所选集群中分配、故障、计划故障、空闲和计划时间的总使用情况。

请参阅后面的部分以获取这些字段的描述。

注意:使用 IGNORE_JOBS 标志创建的预留在集群利用率报告中不会被跟踪,因为允许任何当前/活动作业继续在预留中运行会引入它们被错误计入的可能性。 这些预留中的作业将被正常跟踪,而不是像没有 IGNORE_JOBS 标志的预留那样被打包在预留时间中。

注意:“集群利用率”报告的默认视图包括以下字段:集群、分配、故障、计划故障、空闲、计划、报告。如果使用 -T, --tres <tres_names> 选项,还可以包括其他字段,例如 OverCommitted 和 TresCount 字段。

cluster WCKeyUtilizationByUser
此报告将按用户在每个集群中显示按 WCKey 名称排序的 wckey 利用率。

job SizesByAccount
此报告将显示由“grouping=”选项指定的作业范围所使用的时间。默认情况下,仅显示树中的单个级别,默认为根目录。如果使用“account=”选项指定其他账户,sreport 将使用这些账户作为根账户,并且你将收到每个列出账户及其子账户的汇总总数。

job SizesByAccountAndWckey
此报告与 SizesByAccount 非常相似,区别在于每个账户与 wckeys 配对,因此标识符为 account:wckey,而不仅仅是账户,因此根据使用的 wckeys 数量,可能会列出多个账户。

job SizesByWckey
此报告将显示由“grouping=”选项指定的每个 wckey 的时间。

reservation Utilization
此报告将显示系统上预留的总使用情况。 注意:此报告上的时间请求不会截断预留使用的时间,仅限于在请求的时间段内运行的预留。

user TopUsage
显示集群上使用量最高的用户,即使用量最高的用户。 默认情况下,用户按 CPUTime 排序,但 -T, --tres 选项将按第一个指定的 TRES 排序。

使用 group 选项将账户组合在一起。 默认情况下,每个用户账户组合都有不同的行。

每种报告类型都有各种选项...

所有报告类型的选项

All_Clusters
使用所有监控的集群。默认是本地集群。

Clusters=<OPT>
要包含在报告中的集群列表。默认是本地集群。

End=<OPT>
报告的结束时间。默认是前一天的 23:59:59。注意,虽然识别分钟和秒,但它们将被四舍五入到前一个小时,因为报告不能为更具体的时间范围生成。 有效的时间格式为...

HH:MM[:SS] [AM|PM]
MMDD[YY] 或 MM/DD[/YY] 或 MM.DD[.YY]
MM/DD[/YY]-HH:MM[:SS]
YYYY-MM-DD[THH:MM[:SS]]
now[{+|-}count[seconds(default)|minutes|hours|days|weeks]]

Format=<OPT>
以逗号分隔的字段列表,以显示在报告中。

使用格式选项列出各种字段时,可以在后面加上 %NUMBER 来指定应打印多少个字符。

例如,format=name%30 将打印 30 个字符的字段名称,右对齐。-30 将打印 30 个字符,左对齐。

Start=<OPT>
报告的开始时间。默认是前一天的 00:00:00。注意,虽然识别分钟和秒,但它们将被四舍五入到下一个小时,因为报告不能为更具体的时间范围生成。 有效的时间格式为...

HH:MM[:SS] [AM|PM]
MMDD[YY] 或 MM/DD[/YY] 或 MM.DD[.YY]
MM/DD[/YY]-HH:MM[:SS]
YYYY-MM-DD[THH:MM[:SS]]
now[{+|-}count[seconds(default)|minutes|hours|days|weeks]]

特定于集群报告的选项

Accounts=<OPT>
与 UserUtilizationByAccount 或 AccountUtilizationBy[User|QOS] 一起使用时,要包含在报告中的账户列表。 默认是所有。

Tree
与 AccountUtilizationBy[User|QOS] 一起使用时,将按层次结构展开账户。

Users=<OPT>
与除 Utilization 之外的任何报告一起使用时,要包含在报告中的用户列表。默认是所有。

Wckeys=<OPT>
与 UserUtilizationByWckey 或 WCKeyUtilizationByUser 一起使用时,要包含在报告中的 wckey 列表。默认是所有。

特定于作业报告的选项

Accounts=<OPT>
用于报告的账户列表。默认是所有,这将仅显示与层次中所有账户的总和相对应的一行。 当使用 FlatView 或 AcctAsParent 选项运行时,此说明不适用。

AcctAsParent
与 SizesbyAccount(*) 一起使用时,将指定的账户视为父账户,并显示这些指定账户下的下一层账户。默认是根账户,如果未请求特定账户。 当使用 FlatView 时,此选项被忽略。

FlatView
与 SizesbyAccount(*) 一起使用时,不会在层次级别上对账户进行分组,而是将每个作业运行的账户打印在单独的行上,而没有任何层次结构。

GID=<OPT>
要包含在报告中的组 ID 列表。默认是所有。

Grouping=<OPT>
以逗号分隔的大小分组列表。(例如,50,100,150 将作业 CPU 数量分组为 1-49、50-99、100-149、> 150)。grouping=individual 将导致每个找到的作业大小都有一列。

Jobs=<OPT>
要包含在报告中的作业/步骤列表。默认是所有。

Nodes=<OPT>
仅显示在这些节点上运行的作业。默认是所有。

Partitions=<OPT>
要包含在报告中的作业运行的分区列表。默认是所有。

PrintJobCount
与 Sizes 一起使用时,将打印运行的作业数量,而不是使用的时间。

Users=<OPT>
要包含在报告中的用户作业列表。默认是所有。

Wckeys=<OPT>
要用于报告的 wckey 列表。默认是所有。SizesbyWckey 报告将所有用户汇总在一起。如果只想要某些用户,请使用 Users= 选项指定它们。

特定于预留报告的选项

Names=<OPT>
要用于报告的预留列表。默认是所有。

Nodes=<OPT>
仅显示使用这些节点的预留。默认是所有。

特定于用户报告的选项

Accounts=<OPT>
要用于报告的账户列表。默认是所有。

Group
将所有账户组合在一起以供每个用户使用。默认是每个用户和账户引用都有一个单独的条目。

TopCount=<OPT>
用于 TopUsage 报告。更改显示的用户数量。 默认是 10。

Users=<OPT>
要包含在报告中的用户作业列表。默认是所有。

 

每个报告的格式选项

集群报告的格式选项

AccountUtilizationByUser
账户、集群、登录、QOS、Proper、TresCount、使用

AccountUtilizationByQOS
账户、集群、QOS、TresCount、使用

UserUtilizationByAccount
账户、集群、登录、Proper、TresCount、使用

UserUtilizationByWckey
集群、登录、Proper、TresCount、使用、Wckey

Utilization
分配、集群、故障、空闲、超分配、计划故障、报告、计划、 TresCount、TresName

WCKeyUtilizationByUser
集群、登录、Proper、TresCount、使用、Wckey

作业报告的格式选项

SizesByAccount
账户、集群

SizesByAccountAndWckey
账户、集群

SizesByWckey
wckey、集群

预留报告的格式选项

Utilization
分配、关联、集群、结束、标志、空闲、名称、节点、ReservationId、开始、总时间、TresCount、TresName、TresTime

用户报告的格式选项

TopUsage
账户、集群、登录、Proper、使用

所有命令和选项均不区分大小写。

 

报告字段的解释

Account
账户名称
Allocated
集群利用率报告: 节点在有活动作业或活动预留时的使用时间。此时间不包括使用 MAINT 或 IGNORE_JOBS 标志创建的预留。

预留报告: 节点在此预留中有活动作业时的使用时间

Associations
在预留中允许的关联
Cluster
集群名称
Down
仅限集群利用率报告: 节点被标记为故障或完全排水的时间,或 slurmctld 未响应的时间(如果在 slurmdbd.conf 中设置了 TrackSlurmctldDown)
End
仅限预留报告: 结束时间
Energy
能耗(如果跟踪能耗)
Flags
仅限预留报告: 应用到预留的标志
Idle
集群利用率报告: 节点未分配、故障、计划故障或计划的时间

预留报告: 节点未分配的时间

Login
用户的登录名
Name
仅限预留报告: 预留名称
OverCommitted
仅限集群利用率报告:时间在计划时间内等待的合格作业在队列中。这包含任何超出报告时间的计划时间溢出。通常用于确定您的系统是否过载以及过载的程度。
计划
仅限集群利用率报告: 节点未分配、关闭或计划关闭的时间,队列中有合格作业因时间或大小限制而无法启动。如果分配的时间加上计划时间超过报告时间,超出部分将被报告为超额承诺。如果这个值对您不重要,那么可以将其与空闲时间进行分组。
计划关闭
仅限集群利用率报告: 节点被使用的时间,由带有 MAINT 标志但没有 IGNORE_JOBS 标志的预留创建。此外,节点处于未来或关闭状态的时间。
真实姓名
用户的真实姓名
报告
仅限集群利用率报告: 可用记录的总时间。在报告期间添加到集群或从集群中移除的节点仅会贡献它们在集群中存在时的使用数据,并导致百分比计算偏离 100%。
预留ID
仅限预留报告: 预留 ID
开始
仅限预留报告: 开始时间
总时间
仅限预留报告: 预留有效的时间量
TRES计数
TRES 的数量
TRES名称
报告的 TRES 名称
TRES时间
仅限预留报告: 预留中的总 TRES 时间
使用
使用的 TRES 分钟
工作负载特征键
工作负载特征键

 

性能

执行 sreport 会向 slurmdbd 发送远程过程调用。如果来自 sreport 或其他向 slurmdbd 守护进程发送远程过程调用的 Slurm 客户端命令的调用过于频繁,可能会导致 slurmdbd 守护进程的性能下降,甚至可能导致服务拒绝。

请勿在 shell 脚本或其他程序的循环中运行 sreport 或其他向 slurmdbd 发送远程过程调用的 Slurm 客户端命令。确保程序将对 sreport 的调用限制在收集所需信息的最低限度。

 

环境变量

一些 sreport 选项可以通过环境变量设置。这些环境变量及其对应的选项如下所示。(注意:命令行选项将始终覆盖这些设置。)

SREPORT_CLUSTER
-M, --cluster 相同

SREPORT_FEDERATION
与 --federation 相同

SREPORT_LOCAL
与 --local 相同

SREPORT_TRES
-t, --tres 相同

SLURM_CONF
Slurm 配置文件的位置。

 

示例

根据不同作业大小区间报告每个账户的作业数量:
$ sreport job sizesbyaccount Start=11:00
--------------------------------------------------------------------------------
作业大小 2024-08-19T11:00:00 - 2024-08-19T11:59:59 (3600 秒)
时间以分钟为单位报告
--------------------------------------------------------------------------------
  集群   账户     0-49 CPUs   50-249 CPUs  250-499 CPUs  500-999 CPUs  >= 1000 CPUs % 的集群
--------- --------- ------------- ------------- ------------- ------------- -------------
minesofm+      root           770             0             0             0             0      100.00%

报告集群利用率:
$ sreport cluster utilization Start=11:00
--------------------------------------------------------------------------------
集群利用率 2024-08-19T11:00:00 - 2024-08-19T11:59:59
使用情况以 CPU 分钟为单位报告
--------------------------------------------------------------------------------
  集群 分配     关闭  计划     空闲  计划 报告
--------- -------- -------- -------- -------- -------- --------
minesofm+      770      120      239     3791      239     4920

报告最高使用情况:
$ sreport user top Start=11:00
--------------------------------------------------------------------------------
前 10 个用户 2024-08-19T11:00:00 - 2024-08-19T11:59:59 (3600 秒)
使用情况以 CPU 分钟为单位报告
--------------------------------------------------------------------------------
  集群     登录     真实姓名         账户     使用   能量
--------- --------- --------------- --------------- -------- --------
minesofm+   stephen             ,,,            main      538        0
minesofm+   phteven             ,,,            main      145        0
minesofm+   phteven             ,,,       rivendell       45        0
minesofm+   stephen             ,,,       rivendell       41        0

按特定用户和账户报告作业大小:
$ sreport job sizesbyaccount All_Clusters users=stephen account=main PrintJobCount Start=11:00
--------------------------------------------------------------------------------
作业大小 2024-08-19T11:00:00 - 2024-08-19T11:59:59 (3600 秒)
单位为运行的作业数量
--------------------------------------------------------------------------------
  集群   账户     0-49 CPUs   50-249 CPUs  250-499 CPUs  500-999 CPUs  >= 1000 CPUs % 的集群
--------- --------- ------------- ------------- ------------- ------------- -------------
minesofm+      main            12             0             0             0             0      100.00%

在指定日期和指定用户下,报告集群账户利用率,指定字段:
$ sreport cluster AccountUtilizationByUser start=7/10 end=7/11 cluster=minesofmoria user=stephen format=Account,Cluster,TresCount,Login,Proper,Used
--------------------------------------------------------------------------------
集群/账户/用户利用率 2024-07-10T00:00:00 - 2024-07-10T23:59:59 (86400 秒)
使用情况以 CPU 分钟为单位报告
--------------------------------------------------------------------------------
        账户   集群 TRES 计数     登录     真实姓名     使用
--------------- --------- ---------- --------- --------------- --------
           main minesofm+              stephen             ,,,       38
      rivendell minesofm+              stephen             ,,,        1
          arwen minesofm+              stephen             ,,,        1
         elrond minesofm+              stephen             ,,,        1

在特定账户下,按用户报告集群账户利用率,持续 1 周:
$ sreport cluster AccountUtilizationByUser start=7/23 end=7/24 cluster=minesofmoria account=main
--------------------------------------------------------------------------------
集群/账户/用户利用率 2024-07-23T00:00:00 - 2024-07-23T23:59:59 (86400 秒)
使用情况以 CPU 分钟为单位报告
--------------------------------------------------------------------------------
  集群         账户     登录     真实姓名     使用   能量
--------- --------------- --------- --------------- -------- --------
minesofm+            main                                148        0
minesofm+            main   phteven             ,,,        2        0
minesofm+            main   stephen             ,,,      146        0

按百分比报告特定账户的最高使用情况:
$ sreport user topusage start=11:00 -t percent account=main
--------------------------------------------------------------------------------
前 10 个用户 2024-08-19T11:00:00 - 2024-08-19T11:59:59 (3600 秒)
使用情况以总百分比报告
--------------------------------------------------------------------------------
  集群     登录     真实姓名         账户     使用   能量
--------- --------- --------------- --------------- -------- --------
minesofm+   stephen             ,,,            main   10.94%    0.00%
minesofm+   phteven             ,,,            main    2.95%    0.00%

 

版权

版权所有 (C) 2009-2010 劳伦斯利弗莫尔国家实验室。 在劳伦斯利弗莫尔国家实验室制作(请参阅免责声明)。
版权所有 (C) 2010-2022 SchedMD LLC。

此文件是 Slurm 的一部分,资源管理程序。 有关详细信息,请参见 <https://slurm.schedmd.com/>。

Slurm 是自由软件;您可以根据自由软件基金会发布的 GNU 通用公共许可证的条款重新分发和/或修改它;许可证的第 2 版,或(根据您的选择)任何更高版本。

Slurm 的发布是希望它将是有用的,但不提供任何担保;甚至不提供适销性或特定用途适用性的默示担保。有关更多详细信息,请参见 GNU 通用公共许可证。

 

另见

sacct(1), slurmdbd(8)


 

索引

名称
概述
描述
选项
命令
报告类型
报告描述
每个报告的格式选项
报告字段说明
性能
环境变量
示例
版权
另见

此文档由 man2html 使用手册页创建。
时间:2025年7月2日 13:21:56 GMT