Slurm中如何查询满足指定配置的可用资源及节点?
Slurm集群查询符合指定配置可用资源的方法
方法1:使用sinfo命令自定义过滤节点
sinfo是Slurm内置的节点状态查询工具,可通过参数直接筛选满足硬件要求的节点:
- 筛选至少拥有128G内存、处于空闲状态的节点,同时展示节点所属分区、内存、CPU状态:
sinfo --mem=128G --state=idle -N -o "%N %P %T %mem %C %free_mem"
参数说明:
--mem=128G:仅展示总内存≥128G的节点--state=idle:仅筛选当前空闲的节点,如需包含部分空闲的节点可改为--state=idle,mix-N:按单个节点为维度展示结果-o:自定义输出字段,上述命令输出依次为节点名、所属分区、节点状态、总内存、CPU分配情况、当前剩余可用内存- 再查询分区最大运行时间,过滤出允许运行时长≥4天的分区:
sacctmgr show partitions format=Name,MaxTime
匹配两次查询的分区名称,即可得到满足时长+硬件要求的可用节点列表。
方法2:使用--test-only参数模拟提交任务(更推荐)
如果不想手动匹配分区和资源,可以直接用任务提交命令加--test-only参数,模拟提交任务验证资源是否充足,不会实际占用调度队列:
srun --time=4-0 --mem=128G --nodes=1 --test-only
如果当前有符合要求的可用资源,会直接返回节点编号和任务可启动时间;如果当前无空闲资源,也会返回预估的排队等待时长,无需手动计算资源匹配规则。
补充说明
如果需要额外过滤节点特性(如指定CPU架构、GPU型号等),可以在上述命令中添加--constraint=特性标签参数,即可匹配带有对应标签的节点。
内容的提问来源于stack exchange,提问作者FiReTiTi
相关产品推荐
相关产品推荐

