2

我正在使用 PBS Torque 运行多个作业。这个想法很简单,每项工作都处理大量数据。用于启动作业的 PBS_Torque job_script 称为run_appli.sh

这是启动 10 个作业的简单代码(代码 1)

for i in 1 2 3 4 5 6 7 9 10 do; qsub run_appli.sh ; done 

实际上,我可以使用qstat(请参见下面的命令)监视每个作业的执行情况,并了解每个作业的运行时间。

watch -n1 -d `qstat`

但是,我对整体经过的时间很感兴趣。这意味着从我启动所有作业(代码 1)到最后一个作业完成执行的时间。

有谁知道如何做到这一点?

4

1 回答 1

2

如果知道第一个job的job id,可以看一下它的ctime(创建时间,或者排队的时间)。然后,您可以检查最后一个作业的 comp_time 的结束时间。两者之间的差异将是经过的总时间。

qstat -f $first_job_id | grep ctime # Shows the first job's queued time
qstat -f $last_job_id | grep comp_time # Shows the final job's completion time.

如果最后一个作业没有完成,那么运行经过的时间就是当前时间——第一个作业的排队时间。

于 2016-01-27T18:34:18.440 回答