0

Sun Grid Engineでアレイジョブを開始したときに、すべてのジョブにかかった時間の情報を後で取得するにはどうすればよいですか?つまり、ジャブを提出してから最後の仕事が終わるまでにどれくらいの時間がかかったか知りたいのです。(すべてのジョブが一緒に消費された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 に答える