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

如何用SLURM命令查看账户所有成员的累计资源使用情况?

按用户累计统计Slurm账户资源使用的解决方法

方法1:用sreport直接生成汇总报告(推荐)

sreport是Slurm官方提供的资源汇总工具,专门用来生成累计统计数据,比sacct更高效。执行以下命令就能得到目标账户下所有用户的累计资源使用:

sreport cluster UserUtilizationByAccount -t Hours -A <allocation_name> --allusers format=User,TotalCPU,MaxRSS,Elapsed

参数说明:

  • UserUtilizationByAccount:指定按账户维度下的用户做资源汇总
  • -t Hours:将时间单位统一为小时(可替换为Minutes/Seconds调整精度)
  • -A <allocation_name>:锁定你要统计的目标账户
  • --allusers:包含该账户下所有用户的数据
  • format:自定义输出字段,这里匹配了你需要的用户、累计CPU时间、最大内存占用、累计运行时长。如果需要累计内存使用,可把MaxRSS换成TotalMem

方法2:用sacct+awk手动汇总

如果你的环境没法用sreport,可以用sacct导出原始数据后,用awk做累计计算:

sacct -A <allocation_name> --allusers --noheader --parsable2 format=User,CPUTime,MaxRSS,Elapsed | grep -v -E '(batch|extern)' | awk -F'|' '
function convert_time(t) {
    split(t, parts, /[-:]/)
    days = length(parts)>=4 ? parts[1] : 0
    h = length(parts)>=3 ? parts[length(parts)-2] : 0
    m = length(parts)>=2 ? parts[length(parts)-1] : 0
    s = parts[length(parts)]
    return days*86400 + h*3600 + m*60 + s
}
function format_time(sec) {
    days=int(sec/86400); sec%=86400
    h=int(sec/3600); sec%=3600
    m=int(sec/60); s=sec%60
    return days>0 ? sprintf("%d-%02d:%02d:%02d", days, h, m, s) : (h>0 ? sprintf("%02d:%02d:%02d", h, m, s) : sprintf("%02d:%02d", m, s))
}
{
    user=$1
    total_cpu[user] += convert_time($2)
    curr_rss=$3+0
    if (curr_rss > max_rss[user]) max_rss[user] = curr_rss
    total_elapsed[user] += convert_time($4)
}
END {
    printf "%-15s %-12s %-10s %-15s\n", "User", "TotalCPUTime", "MaxRSS", "TotalElapsed"
    for (u in total_cpu) {
        printf "%-15s %-12s %-10d %-15s\n", u, format_time(total_cpu[u]), max_rss[u], format_time(total_elapsed[u])
    }
}
'

说明:

  • --noheader去掉表头,--parsable2用竖线分隔字段,方便awk处理
  • grep -v -E '(batch|extern)'过滤掉作业的子任务行,避免重复统计同一作业的资源
  • awk里的两个函数负责时间格式转换,把Slurm的时间转成秒数累计后再转回去,同时按用户统计最大内存占用

内容的提问来源于stack exchange,提问作者Eslam Hussein

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 02:25:07