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

如何在Slurm作业文件中指定特定Worker(机器)?

嘿,这个问题我熟得很!在Slurm里指定特定的worker机器(节点),有几种实用的方式,我给你一一说明:

1. 直接指定节点列表(最常用)

用--nodelist参数(短格式是-w),在作业脚本里通过#SBATCH指令声明,或者提交作业时在命令行添加。

比如在作业文件里写:

#!/bin/bash
#SBATCH --job-name=target_worker_job
#SBATCH --nodelist=worker01,worker03  # 明确指定要用的worker节点
#SBATCH --ntasks=2

# 执行你的任务
srun ./my_task_script

如果节点名称有规律,还可以用通配符简化:

#SBATCH --nodelist=worker[01-05]  # 指定worker01到worker05这5个节点

2. 排除不需要的节点(反向指定)

如果大部分节点都能用,只是要避开少数几个,用--exclude参数(短格式-x)更方便:

#SBATCH --exclude=worker02,worker04  # 除了这两个节点,其他都可以用

3. 按节点属性约束(适合有特殊需求的场景)

如果你的worker节点有自定义属性(比如带GPU、大内存),也可以通过--constraint指定符合条件的节点,比如:

#SBATCH --constraint=gpu  # 只选择带有gpu标签的worker节点

注:这个是按节点特征筛选,不是直接指定节点名,但如果你的目标节点刚好有唯一标识的属性,也能达到精准指定的效果。

小提示

  • 先确认集群里的节点名称和状态:用sinfo -N命令可以列出所有节点的名称、状态和分区信息,避免写错节点名。
  • 如果指定的节点被占用或不可用,作业会进入Pending状态,直到节点释放或者你调整指定的节点。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:17:59