跳到主要内容

slurm使用


sinfo    查看分区和节点的状态信息

sbatch 提交作业 (**详细操作请参考下面3.3小节**)

squeue 查看已提交的作业状态

scancel 取消已提交的作业

scontrol i#i查看作业相关信息

一、sinfo 节点状态查看

# sinfo 查询各分区节点的空闲状态

$ sinfo
PARTITION AVAIL TIMELIMIT NODES STATE NODELIST
test up infinite 1 idle n00001

# 节点状态STATE,有如下几种
# idle 状态为空闲
# mix 状态为节点中有部分核心资源可用
# alloc 状态为已被完全占用
# drain 节点故障
# down 节点下线

二、sbatch 作业提交

# sbatch 用于提交作业到作业调度系统中 详细操作请参考下面作业提交运行小节

$ sbatch jobscript.slurm

# sbatch提交完脚本后,作业运行正常的情况下,提交后可获取到一个jobid作业号,作业等所需资源满足后开始运行

三、squeue 查看作业信息

# squeue 查看提交作业的排队情况

$ squeue
JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON)

# squeue的输出分别是作业号,分区,作业名,用户,作业状态,运行时间,节点数量,运行节点(如果还在排队则显示排队原因)

# 作业状态ST,包括R(正在运行),PD(正在排队),CG(即将完成),CD(已完成)。

四、scancel 作业取消

# scancel取消队列中已提交的作业

# 通过squeue命令获取要取消的作业jobid,取消指定jobid的作业,以jobid为111为例,取消的命令为
scancel 111

# 如果要取消当前登录账号所有作业
scancel -u `whoami`

五、scontrol 查看和修改作业参数

# 显示该用户的全部作业的详细信息
$ scontrol show job

# 如果要查看指定作业的详细信息,在命令最后添加作业jobid,以jobid为111为例
$ scontrol show job 123

# 显示全部节点的详细信息(不推荐执行,这将打印许多信息)
$ scontrol show node

# 显示指定节点的详细信息(推荐),通过squeue命令获取到作业指定的节点,通过如下命令可以获取到作业指定节点的cpu及内存信息,以节点n00001为例
$ scontrol show node n00001

六、sacct 查看作业信息

sacct -o start,end,nodelist -j jobid
#### 查看指定作业号的作业运行时间 使用节点号
sacct -S 2024-04-15 -E 2024-04-22 -o CPUTimeRAW |awk '{s+=$1} END{print s}'
##手动查某个时间节点的机时 这个得出的总数除以3600就是使用的核时 -S后面是开始时间,-E后面是结束时间