如何在Slurm中按账户/用户级限制单作业节点数?
在Slurm中按账户/用户级别限制单作业节点数的正确方法
问题重现
执行以下命令尝试限制账户test9_phase1的单作业节点数时报错:
sacctmgr modify account where name=test9_phase1 set MaxTRESPerJob=nodes=1
错误信息:
Unknown option: MaxTRESPerJob=nodes=1 Use keyword 'where' to modify condition
尝试用户级别设置时同样报错:
sacctmgr modify user where cluster=linux account=test9_phase1 set maxTRESPerJob=nodes=1
错误信息一致。
解决方法
报错原因是资源限制值的格式不符合sacctmgr的语法要求,需要将包含等号的资源字符串用双引号括起来。
1. 账户级别限制
sacctmgr modify account where name=test9_phase1 set MaxTRESPerJob="nodes=1"
如果是多集群环境,建议在where子句中指定集群:
sacctmgr modify account where name=test9_phase1 cluster=linux set MaxTRESPerJob="nodes=1"
2. 用户级别限制
sacctmgr modify user where cluster=linux account=test9_phase1 set MaxTRESPerJob="nodes=1"
验证设置
执行以下命令确认限制是否生效:
- 账户级别验证:
sacctmgr show account name=test9_phase1 format=name,MaxTRESPerJob
- 用户级别验证:
sacctmgr show user where cluster=linux account=test9_phase1 format=user,MaxTRESPerJob
内容的提问来源于stack exchange,提问作者abinitio
相关产品推荐
相关产品推荐

