调整节点权重后SLURM_CONF未影响sbatch提交的作业求助
问题分析与解决步骤
1. 节点权重逻辑完全搞反
SLURM中Weight参数的作用是数值越大,节点优先级越高,会被优先分配,而非你预期的“最后使用”。你给hpc-c02设置Weight=10,而未指定权重的节点默认值为1,这会让hpc-c02比其他节点更先被调度器选中,刚好和你的需求相反。若要让hpc-c02最后被使用,应该给它设置更低的权重,比如Weight=1,其他节点保持默认或设置更高值(如Weight=10)。
2. SLURM_CONF环境变量的使用误区
你通过客户端设置SLURM_CONF指向修改后的配置文件,这仅能让sbatch客户端读取该配置来验证作业参数,但SLURM的调度决策由控制节点上的slurmctld服务决定,slurmctld只会加载它启动时指定的配置文件(通常是/etc/slurm/slurm.conf),不会读取客户端的SLURM_CONF变量。
要让修改的节点权重生效,必须:
- 将修改后的slurm.conf放到控制节点的默认配置路径(备份原文件后替换)
- 重新加载slurmctld配置:
scontrol reconfigure - 验证配置是否生效:
scontrol show node hpc-c02,查看输出中的Weight字段是否正确
3. 调度器的额外验证
若使用backfill调度器,需确认配置重新加载后,调度器已刷新节点优先级。提交测试作业前,可先查看节点权重:
scontrol show node hpc-c[01-03] | grep -E "NodeName|Weight"
确认hpc-c02的权重低于其他节点后,再提交作业测试节点分配情况。
内容的提问来源于stack exchange,提问作者cknott
相关产品推荐
相关产品推荐

