0

当我在 Sun Grid Engine 上启动一个阵列作业时,以后如何才能获得所有作业所用时间的信息?即我想知道从我提交 jub 到最后一个工作完成的那一刻需要多长时间。(我不想知道所有作业一起消耗了多少 CPU 时间。)

我这样提交:

qsub -e GE_errors/ -o GE_out/ SGE_execute

我的 SGE 执行脚本如下所示:

#!/bin/sh
#$ -t 1-100
~/bin/intersectBed -c -s -a infile_$SGE_TASK_ID -b template.bed > outfile_$SGE_TASK_ID

任何帮助表示赞赏。谢谢你。

4

1 回答 1

0

一些简单的事情可能只是查看您的 GE_errors 和 GE_out 目录中最早和最新的时间戳。

或者,如果您设置了 SGE 的搭档ARCo 会计系统,您可以在 sge_job 和 sge_job_usage 表中查看所有这些信息(以及更多信息)。

例如,给定 qsub 命令返回给您的作业编号,您可以获得其唯一 ID 和提交时间,如下所示:

select j.j_id, j.j_submission_time from sge_job j where j.j_job_number = ?

您可以找到其所有子任务的最大完成时间,如下所示:

select max(u.ju_end_time) from sge_job_usage u where u.ju_parent = <j_id from up above>

然后减去。

请注意,上述“Sun” Wiki 上的文档并不完美。(这就是我今天首先来到stackoverflow的原因。:)

于 2011-05-10T18:16:37.660 回答