Slurm简介与常用命令

在公共集群中使用SLURM作业调度系统进行任务的调度和管理。SLURM (Simple Linux Utility for Resource Management)是一种可用于大型计算节点集群的高度可伸缩和容错的集群管理器和作业调度系统,被世界范围内的超级计算机和计算集群广泛采用。

Slurm常用命令

sinfo

查看节点与分区状态

squeue

查看队列状态

scancel

取消作业

sacct

查看历史作业信息

salloc

分配资源

sbatch

提交批处理作业

scontrol

系统控制

srun

执行作业

日常使用超算资源只需掌握简单的几条命令即可,具体详细的配置请参考SLURM官方文档

查询状态

sinfo:查看节点与分区状态

$ sinfo
PARTITION AVAIL  TIMELIMIT  NODES  STATE NODELIST
normal*         up   infinite      10  idle node[1-10]
fat             up   infinite      3    mix node[11-13]
fat             up   infinite      2  alloc node[14-15]

关键词

含义

PARTITION

分区名,对节点的逻辑分组。不同的分区会设置不同权限、资源限制等。

AVAIL

可用状态:up 可用;down 不可用

TIMELIMIT

该分区的作业最大运行时长限制, 30:00 表示30分钟,如果是2-00:00:00表示2天,如果是infinite表示不限时间

NODES

节点数量

STATE

状态:drain: 排空状态,表示该类节点不再分配到其他;idle: 空闲状态;alloc: 被分配状态; mix:部分被占用,但是仍有可用资源; down停机

NODELIST

节点列表

image0

squeue:查看队列状态

$ squeue
JOBID PARTITION     NAME     USER ST       TIME  NODES NODELIST(REASON)
8628       cpu vasp_cpu  yangx17 PD       0:00      2 (QOSMaxNodePerUserLimit)
8629       cpu vasp_cpu  yangx17 PD       0:00      2 (QOSMaxNodePerUserLimit)
8630       cpu vasp_cpu  yangx17 PD       0:00      2 (QOSMaxNodePerUserLimit)
8636       cpu vasp_cpu  mab2019 PD       0:00      4 (Resources)
8637       cpu     vasp lizhenhu PD       0:00      1 (Priority)
5042       cpu HICE_WAC    xum17  R 16-22:28:14      4 n[114-117]
5044       cpu LICE_WAC    xum17  R 16-22:21:58      4 n[29,41-43]
5519       cpu        c zhaosy16  R 14-22:00:21      5 n[93-95,165-166]
5783       cpu        c liangt20  R 13-20:54:50      5 n[30-32,156-157]

关键词

含义

JOBID

作业的id号,每个成功提交的任务都会有唯一的id

PARTITION

分区名

NAME

作业名称,默认为提交脚本的名称

USER

用户名,提交该作业的用户名

ST

作业状态:PD排队;R运行;S挂起;CG正在退出

TIME

作业运行时间

NODES

作业占节点数

NODELIST(REASON)

作业所占节点列表,如果是排队状态的任务,则会给出排队原因

image1

scancel:取消作业

image2