Slurm使用


1. sinfo 查看分区和节点的状态信息
2. sbatch 提交作业 (详细操作请参考下面3.3小节)
3. squeue 查看已提交的作业状态
4. scancel 取消已提交的作业
5. scontrol 查看作业相关信息

(1)sinfo 查看分区和节点的状态信息
# sinfo 查询各分区节点的空闲状态

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

# 节点状态STATE,有如下几种
# idle    状态为空闲
# mix     状态为节点中有部分核心资源可用
# alloc   状态为已被完全占用
# drain   节点故障
# down    节点下线
(2)sbatch 作业提交(详细操作请参考下面3.3小节)
# sbatch 用于提交作业到作业调度系统中

$ sbatch jobscript.slurm

# sbatch提交完脚本后,作业运行正常的情况下,提交后可获取到一个jobid作业号,作业等所需资源满足后开始运行
(3)squeue 查看作业信息
# squeue 查看提交作业的排队情况

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

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

# 作业状态ST,包括R(正在运行),PD(正在排队),CG(即将完成),CD(已完成)。
(4)scancel 作业取消
# scancel取消队列中已提交的作业

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

# 如果要取消当前登录账号所有作业
scancel -u `whoami`
(5)scontrol 查看和修改作业参数
# 显示该用户的全部作业的详细信息
$ scontrol show job

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

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

# 显示指定节点的详细信息(推荐),通过squeue命令获取到作业指定的节点,通过如下命令可以获取到作业指定节点的cpu及内存信息,以节点n00001为例
$ scontrol show node n00001
(6)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后面是结束时间
作者:admin  创建时间:2023-03-16 09:43
最后编辑:admin  更新时间:2024-09-05 11:17