我正在使用 PBS Torque 来运行多个作业。这个想法很简单,每个作业都处理一组数据。用于启 Action 业的 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)到最后一个作业完成执行的时间。
有人知道如何做到这一点吗?
最佳答案
如果您知道第一个作业的作业 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.
如果最后一个作业未完成,则运行耗时将只是当前时间 - 第一个作业的排队时间。
关于scheduled-tasks - 如何获取一堆 PBS Torque 作业的运行时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35041342/