You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过SLURM sacct查看可选可追踪资源的统计数据?

如何提取SLURM已收集的可选TRES统计数据(如fs/lustre、ic/ofed)

问题背景

通过sacct命令可查询SLURM过往作业信息,--format参数能获取各类资源使用数据。SLURM支持在slurm.conf中通过AccountingStorageTRES配置项收集可选统计量,比如本地集群配置的fs/lustre(Lustre文件系统使用量)和ic/ofed(互连流量数据),但当前无法通过sacct提取这些数据:

  • 执行sacct --format=TRES%200 --jobid <some_jobid>仅返回默认字段,例如cpu=00:07:42,energy=0,fs/disk=7246316,mem=51556K,pages=132,vmem=0
  • 执行sacct -e列出的可配置字段中,无法确认MaxDiskWrite是否包含fs/lustre,也找不到互连流量相关字段
  • 执行sacct --jobid <some_jobid> -o ALL输出大量信息,但仍无fs/lustre和ic/ofed相关内容

解决方法

1. 确认TRES配置生效状态

首先要确保AccountingStorageTRES已正确配置,且SLURM服务(slurmctld和slurmd)已重启。通过以下命令检查当前配置:

scontrol show config | grep AccountingStorageTRES

输出内容需包含fs/lustre和ic/ofed,若未包含则需修改slurm.conf后重启SLURM服务。

2. 使用正确的TRES字段查询格式

sacct的TRES字段默认仅显示部分资源,要查看自定义TRES项,需指定完整字段或使用细分字段:

  • 直接查询完整TRES内容(加宽字段宽度避免截断):
sacct --jobid <some_jobid> --format=JobID,User,Partition,TRES%300

若配置生效,输出中应能看到fs/lustre和ic/ofed的对应数据。

  • 针对存储/流量类TRES,可使用细分字段:
sacct --jobid <some_jobid> --format=JobID,TRESUsageIn%300,TRESUsageOut%300

TRESUsageIn对应输入流量/使用量,TRESUsageOut对应输出流量/使用量。

3. 检查SLURM版本兼容性

部分自定义TRES字段的支持是在较新SLURM版本中引入的,旧版本可能无法正常显示数据。通过以下命令查看版本:

sinfo --version

建议升级至20.02及以上版本(不同版本对TRES的支持存在差异,需参考对应版本官方文档)。

4. 直接查询SLURM会计数据库(需权限)

若sacct仍无法返回数据,且你拥有SLURM会计数据库(通常为MySQL/MariaDB或PostgreSQL)的访问权限,可直接查询数据库表:

  • 作业级TRES数据存储在job_tres表,任务级数据存储在task_tres表。例如查询特定作业的TRES记录:
SELECT * FROM job_tres WHERE job_id = <some_jobid>;

可通过查看表结构确认是否存在fs/lustre和ic/ofed的对应条目。

5. 验证作业是否产生对应数据

若作业运行过程中未使用Lustre文件系统或产生节点间互连流量,SLURM不会记录这些数据。可运行一个明确使用Lustre存储或包含大量节点通信的测试作业,再用sacct查询验证。


内容的提问来源于stack exchange,提问作者Hubertus van Dam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 04:02:40