`qsub` 在“blocked jobs”中留下“NotQueued”

`qsub` 在“blocked jobs”中留下“NotQueued”

我正在一个远程集群上工作(westgrid > 怪物),我通过文件提交流程.pbs。我的.pbs看起来像这样

#!/bin/bash
#PBS -l procs=1
#PBS -l walltime=100:00:00
#PBS -N SimulationName
#PBS -m ea
#PBS -M [email protected]
#PBS -l pmem=3000mb
#PBS -t 1-100

echo "Starting run at: `date`"

R --vanilla --args ${PBS_ARRAYID} < /Path/To/code.R

echo "Job finished with exit code $? at: `date`"

,其中PBS_ARRAYID将为每个特定作业取 1 到 100 的值。/Path/To/code.R是使用 编写的某个二进制文件的 R 包装器C。当我提交作业时

$ qsub mypbs.pbs

一切似乎都运行正常。模拟按预期运行,我得到了输出。问题是,在模拟运行的某个时刻,我经常在“被阻止的作业”中看到奇怪的作业。

$ showq -u myName

active jobs------------------------
JOBID              USERNAME      STATE PROCS   REMAINING            STARTTIME


0 active jobs            0 of 4516 processors in use by local jobs (0.00%)
                        428 of 436 nodes active      (98.17%)

eligible jobs----------------------
JOBID              USERNAME      STATE PROCS     WCLIMIT            QUEUETIME


0 eligible jobs   

blocked jobs-----------------------
JOBID              USERNAME      STATE PROCS     WCLIMIT            QUEUETIME

30004048[]          matthey  NotQueued     1  2:02:00:00  Wed Mar 23 12:56:27
30156104[]          matthey  NotQueued     1  2:02:00:00  Mon Mar 28 01:14:16

2 blocked jobs   

Total jobs:  2

PBS_ARRAYID作业 ID 确实与正在运行(或之前运行)的作业相同,但这两个被阻止的作业在方括号之间没有任何内容。这些作业在那里停留了很长时间,我无法删除它们

$ qdel 30004048[]

qdel: nonexistent job id: 30004048[]

此外,我无法提交任何新工作(这是主要问题),因为我收到消息

$ qsub mypbs.pbs

qsub: submit error (Maximum number of jobs already in queue MSG=Job 30893576.b0 violates the global server limit of 500 jobs queued per user)

即使我没有违反此服务器限制。最终这些“未排队”作业会消失,但需要相对较长的时间。

这个问题过去曾多次发生在我身上,在这个集群的所有用户中,我似乎是唯一遇到这个问题的人。当联系支持人员时,他们通常会以某种方式删除这两个作业,但到目前为止我还没有收到任何针对此问题的长期解决方案。

  • 你知道发生什么事了吗?
  • 我可以删除这两个奇怪的工作吗?
  • 我怎样才能避免此类事情再次发生?

答案1

“这些作业会在那里停留很长时间”,我猜/希望两年后它们会最终确定下来。无论如何,我偶然发现了同样的问题(“我可以删除这些(…)奇怪的[数组]作业吗”),使用(打字机)引号(单引号或双引号)解决了这个问题:

qdel "job_identifier[]"

删除整个数组。此外,您还可以使用选项指定特定$PBS_ARRAYID(或范围)-t

相关内容