跳到主要内容

sacctmgr

简介

sacctmgr 是 Slurm 系统中用于管理记账(accounting)数据的命令工具:

  • 管理账户(Accounts)、用户(Users)、资源限制(QOS)等
  • 配置关联关系和权限
  • 需要管理员权限执行

常用参数

参数说明示例
add添加实体sacctmgr add account
modify修改实体sacctmgr modify user
delete删除实体sacctmgr delete qos
show显示信息sacctmgr show cluster
-i, --immediate立即生效sacctmgr -i add ...
-p, --parsable可解析输出sacctmgr -p show ...
-Q, --quiet静默模式sacctmgr -Q delete ...

使用示例

管理账户

# 添加账户
sacctmgr add account myaccount Description="测试账户" Organization=CS

# 修改账户
sacctmgr modify account myaccount set GrpTRES=cpu=100

# 删除账户
sacctmgr delete account myaccount

管理用户

# 添加用户
sacctmgr add user user1 Account=myaccount

# 设置用户默认账户
sacctmgr modify user user1 set DefaultAccount=myaccount

# 删除用户
sacctmgr delete user user1

管理QOS

# 添加QOS
sacctmgr add qos high Priority=100

# 添加qos,限制 high 使用10个cpu,10个rtx2080的gpu和4个v100的gpu
sacctmgr add qos high set GrpTRES=cpu=10,gres/gpu:rtx2080=10,gres/gpu:v100=4

# 限制 high 使用10个cpu,10个rtx2080的gpu和4个v100的gpu
sacctmgr modify qos high set maxtresperuser=cpu=1,gres/gpu:rtx2080=1,gres/gpu:v100=1

# 修改QOS限制
sacctmgr modify qos high set MaxTRESPerJob=cpu=32

# 清除规则,-1代表不限制
sacctmgr modify qos high set GrpTRES=cpu=-1,gres/gpu:rtx2080=-1,gres/gpu:v100=-1

# 修改组限制
sacctmgr modify qos high set GrpTRES=cpu=-1,gres/gpu:rtx2080=-1,gres/gpu:v100=-1

# 删除QOS
sacctmgr delete qos high

# 将用户添加至qos
sacctmgr modify user <用户名> set qos=<分组名>

查看关联关系

sacctmgr show Association  format=Cluster,Account,User,Partition,QOS,GrpSubmit,GrpWall,GrpTRESMins,MaxJobs,MaxTRES format=GrpTRES%60

查看用户详细信息

sacctmgr show user user1 format=User,DefaultAccount,AdminLevel

查看QOS配置

sacctmgr show qos format=Name,Priority,MaxTRESPerJob

关键参数说明

资源类型(TRES)

类型说明示例
cpuCPU核心数cpu=100
mem内存(MB)mem=100G
gres/gpuGPU卡数gres/gpu=2
billing计费权重billing=30

常用限制项

限制参数说明
GrpTRES组资源总量限制
MaxTRESPerUser单用户资源限额
MaxTRESPerJob单作业资源限额
MaxJobs最大作业数限制

注意事项

  • 所有修改立即生效不可逆

  • 删除父账户会同时删除所有子账户

  • 资源限制基于实时计算,可能影响正在排队的作业

  • 复杂配置建议先进行模拟测试

  • 生产环境操作前备份配置

     sacctmgr -p dump <集群名称> file=./<文件名称>.cfg

📌 提示:更高级功能(如联邦集群配置)请参考 man sacctmgr 或访问 Slurm官方文档