我使用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)开始到最后一个作业完成执行的时间。
有没有人知道如何做到这一点?
答案 0 :(得分:0)
如果您知道第一份工作的工作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.
如果最后一个作业没有完成,那么正在运行的经过时间就是当前时间 - 第一个作业的排队时间。