控制作业
常用控制命令
命令 | 功能 |
---|---|
bjobs |
查看自己未结束的作业 |
bjobs -l JOBID |
查看某个未结束作业的详情 |
bhist |
查看自己已结束的历史作业 |
bhist -l JOBID |
查看某个已结束历史作业的详情 |
bpeek JOBID |
查看正在运行某个作业的stdout/stderr |
bkill JOBID |
终止某个作业 |
btop JOBID |
设置作业最先运行 |
bbot JOBID |
设置作业最后运行 |
作业状态
bjobs
命令的作业状态可能值包括:
状态 | 描述 |
---|---|
PEND | 作业正在等待中。也就是说,作业尚未开始。 |
PROV | 作业已被派发到一个正在唤醒的节能状态主机。在作业可以发送到 sbatchd之前,它处于PROV状态。 |
PSUSP | 作业在等待期间被挂起,可能是作业所有者或LSF管理员操作的。 |
RUN | 作业当前正在运行。 |
USUSP | 作业在运行期间被挂起,可能是作业所有者或LSF管理员操作的。 |
SSUSP | 作业被LSF挂起。 |
DONE | 作业以状态0终止。 |
EXIT | 作业以非零状态终止。 |
UNKWN | 一般是两种情况之一,如果作业状态长时间处于UNKWN状态,一般来 说就是计算节点坏了可以直接杀掉作业。①因为计算节点负载过高,未 能及时获取作业状态导致状态未知,这种情况一般只需要等待即可,待 负载下降获取状态后就正常了。②因为计算节点出现故障且长时间未恢 复,调度系统无法获取作业状态,此时如果登录不到相应的计算节点, 可以直接杀掉作业。 |
WAIT | 对于提交到块作业队列的作业,块作业中的成员正在等待运行。 |
ZOMBI | ①当sbatchd在执行主机上不可达时,非可重新运行的作业被bkill 杀死,并且作业显示为UNKWN。 ②运行可重新运行作业的主机不可用,并且LSF 已将作业重新排队,分配了新的作业ID,就像提交了新作业一样。 ③在执 行主机可用之后,LSF尝试杀死ZOMBI作业。ZOMBI作业成功终止后,作业 的状态将更改为EXIT。 使用MultiCluster时,当在远程执行群集上运行的作 业变为ZOMBI作业时,执行群集将像本地ZOMBI作业一样处理该作业。此外, 它还会通知提交群集作业处于ZOMBI状态,并且提交群集将重新排队作业。 |
作业等待
bwait -w "wait_condition" [-t timeout]
暂停并等待作业条件满足,不满足一直暂停等待,满足则执行完毕返回。
典型用法:在脚本中不要循环使用bjobs判断作业状态,而用bwait等待作业运行完成,这样更优雅且能显著降低对集群的压力。
-
-w wait_condition
:要满足的等待条件,此表达式与上述bsub -w
选项的格式相同。 -
-t timeout
:等待条件的超时,范围为1-525600分钟,默认为一年。