首页 > 解决方案 > Slurm 不分配资源,一直等待

问题描述

我正在尝试使用我们的集群,但我遇到了问题。我尝试分配一些资源:

salloc -N 1 --ntasks-per-node=5 bash

但它一直在等待:

salloc:待分配的工作...

salloc:作业...排队等待资源

或者当我尝试时:

srun -N1 -l echo test

它在等待队列中徘徊!

是我犯了错误还是我们的集群有问题?

标签: slurm

解决方案


使用选项设置 Slurm 作业的时间限制可能会有所帮助--time,例如设置 10 分钟的限制,如下所示:

srun --job-name="myJob" --ntasks=4 --nodes=2 --time=00:10:00 --label echo test

没有时间限制,Slurm 将使用分区的默认时间限制。问题是有时这可能设置为无穷大或几天,因此这可能会导致作业开始延迟。要检查分区的默认时间限制,请使用:

$ sinfo
PARTITION AVAIL  TIMELIMIT  NODES  STATE NODELIST 
prod*        up   infinite    198  ....
gpu*         up 4-00:00:00     70  ....

来自Slurm 文档

-t, --time=<time> 设置作业分配的总运行时间限制。如果请求的时间限制超过分区的时间限制,则作业将处于 PENDING 状态(可能无限期)。默认时间限制是分区的默认时间限制。当达到时间限制时,每个作业步骤中的每个任务都会发送 SIGTERM,然后是 SIGKILL。


推荐阅读