我对 slurm 有疑问,我执行的每项工作都处于待定状态
我不知道该怎么做(我是这个领域的新手)
scontrol: show job
JobId=484 JobName=Theileiria_project
UserId=dhamer(1037) GroupId=Bio-info(1001) MCS_label=N/A
Priority=4294901741 Nice=0 Account=(null) QOS=normal
JobState=PENDING Reason=BeginTime Dependency=(null)
Requeue=1 Restarts=481 BatchFlag=1 Reboot=0 ExitCode=0:0
RunTime=00:00:00 TimeLimit=01:00:00 TimeMin=N/A
SubmitTime=2022-04-19T08:47:58 EligibleTime=2022-04-19T08:49:59
AccrueTime=2022-04-19T08:49:59
StartTime=2022-04-19T08:49:59 EndTime=2022-04-19T09:49:59 Deadline=N/A
SuspendTime=None SecsPreSuspend=0 LastSchedEval=2022-04-19T08:47:58
Partition=defq AllocNode:Sid=omix:377206
ReqNodeList=(null) ExcNodeList=(null)
NodeList=(null)
BatchHost=omics001
NumNodes=1 NumCPUs=30 NumTasks=30 CPUs/Task=1 ReqB:S:C:T=0:0:*:*
TRES=cpu=30,mem=32G,node=1,billing=30
Socks/Node=* NtasksPerN:B:S:C=0:0:*:* CoreSpec=*
MinCPUsNode=1 MinMemoryNode=32G MinTmpDiskNode=0
Features=(null) DelayBoot=00:00:00
OverSubscribe=NO Contiguous=0 Licenses=(null) Network=(null)
Command=/home/dhamer/test.sh
WorkDir=/home/dhamer
StdErr=/home/dhamer/Theileiria_project.log
StdIn=/dev/null
StdOut=/home/dhamer/Theileiria_project.log
Power=
Reason=BeginTime
输出中的
scontrol
表示(根据 man squeue
)“尚未到达作业的最早开始时间”。这通常是因为队列已满,或者您的作业在队列中的优先级较低。
我会咨询您的系统管理员或您的 HPC 服务台。
顺便说一下,您评论中的提交命令与
scontrol
输出不匹配,因为在脚本中您将时间限制设置为 5 分钟,但输出表明时间限制为 1 小时。
要检查 SLURM 队列中正在运行和待处理的作业,您可以在 bash 命令中运行如下内容:
squeue --format="%.18i %.9P %.30j %.8u %.8T %.10M %.9l %.6D %R" --states="PENDING,RUNNING"
如果您知道分区名为“bigmem”,例如,您可以通过在命令行中输入以下内容来缩小返回的作业列表:
squeue --format="%.18i %.9P %.30j %.8u %.8T %.10M %.9l %.6D %R" --partition="bigmem" --states="PENDING,RUNNING"
这将返回类似的东西:
JOBID PARTITION NAME USER STATE TIME TIME_LIMI NODES NODELIST(REASON)
2714947 bigmem step2.sh user1 PENDING 0:00 12:00:00 1 (Resources)
2206052 bigmem mcca_jhs user2 RUNNING 8-22:52:18 11-00:00:00 1 t0601