如何在Slurm中查询当前分区及活跃节点所属分区?
在Slurm中查询分区及活跃节点所属分区的实用方法
刚好平时经常和Slurm集群打交道,给你整理几个直接好用的命令来解决这两个问题:
1. 查询集群分区信息(含当前默认分区)
- 如果你想快速查看集群所有存在的分区,基础的
sinfo命令会展示分区、节点状态等完整信息,但如果只需要纯分区列表,可以用格式化输出简化结果:
这个命令只会输出所有分区的名称,干净利落。sinfo -o "%P" - 要是想知道当前用户提交作业时的默认分区(也就是不指定
--partition参数时会自动使用的分区),可以用sacctmgr查询用户配置:
执行后会直接返回你的默认分区名称,不用去翻配置文件。sacctmgr show user $USER format=defaultpartition
2. 查询活跃节点所属的分区
这里的“活跃节点”一般指处于可用状态(UP)或者正在运行作业的(ALLOCATED)节点,我们可以通过sinfo的筛选和格式化输出精准获取信息:
一步到位的方法:直接指定节点状态和输出格式,只返回活跃节点及其分区:
sinfo -t idle,alloc -o "%N %P"-t idle,alloc用来筛选空闲(idle)和已分配(alloc)的活跃节点,-o "%N %P"指定输出节点名称(%N)和所属分区(%P),结果会清晰展示每个活跃节点对应的分区。更灵活的过滤方式:如果需要自定义筛选条件(比如只看状态为
UP的节点),可以用awk处理输出结果,还能自定义显示格式:sinfo -o "%N %P %T" | awk '$3 == "UP" || $3 == "ALLOCATED" {print "节点: " $1, "分区: " $2}'这个命令先输出节点名、分区、状态,再用
awk筛选出符合活跃状态的节点,输出更直观的结果。额外需求:如果只想知道哪些分区包含活跃节点(去重后的分区列表),可以这样:
sinfo -t idle,alloc -o "%P" | sort | uniq它会返回所有存在活跃节点的分区名称,适合快速排查哪些分区当前有可用节点。
内容的提问来源于stack exchange,提问作者dantopa
相关产品推荐
相关产品推荐

