在PBS工作完成后获得工作统计数据的更好方法

时间:2014-12-20 01:31:05

标签: unix-timestamp job-scheduling pbs torque

我想知道是否有更好的方法可以在PBS作业脚本中获取一些作业统计信息(例如cputime,walltime,mem usage等)(一旦作业完成)。在我目前的设置中,我的PBS脚本末尾有一行

qstat -f "${PBS_JOBID}"

但是,问题是如果工作因某种原因失败或被杀,这条线就不会被执行。请告诉我其他可以使用的选项。

非常感谢任何帮助或建议,谢谢!

2 个答案:

答案 0 :(得分:0)

您可能会发现tracejob脚本很有用。它可以在PBS衍生批量调度系统中使用。

tracejob接受一个参数,JOB_ID和一个选项-n days,表示相关统计信息的日志文件有多深。

关于拆分提交和服务器主机的说明

请注意,tracejob仅在日志可在调用日志的主机上访问时才有效。在某些安装中,PBS服务器在一个主机上运行,​​作业提交在另一个主机上执行,日志文件存储在PBS服务器本地的文件系统上。在这种情况下,tracejob将无效。

实施例

$ qstat -f 10082
qstat: Unknown Job Id 10082.
作业完成后,

qstat失败,而tracejob正常工作

$ tracejob -n 10 10082 2>/dev/null

Job: 10082.pbs.cl.localnet

12/14/2014 03:33:10  S    Job deleted at request of
                          USERNAME
12/14/2014 03:33:10  S    Job sent signal SIGTERM on delete
12/14/2014 03:33:10  S    Not sending email: User does not want mail of this
                          type.
12/14/2014 03:33:10  S    Exit_status=271 resources_used.cput=369:59:52
                          resources_used.mem=609672kb
                          resources_used.vmem=674112kb
                          resources_used.walltime=167:08:56
12/14/2014 03:33:10  A    requestor=USERNAME
12/14/2014 03:33:10  A    user=USERNAME group=users jobname=MYJOB
                          queue=simple ctime=1417901048 qtime=1417901048
                          etime=1417901048 start=1417901048
                          owner=USERNAME exec_host=HOST/CPU
                          Resource_List.walltime=90000:00:00 session=15324
                          end=1418502790 Exit_status=271
                          resources_used.cput=369:59:52
                          resources_used.mem=609672kb
                          resources_used.vmem=674112kb
                          resources_used.walltime=167:08:56
12/14/2014 03:43:11  S    dequeuing from simple, state COMPLETE

执行stderr时,您可以将/dev/null重定向到tracejob,以避免表单中的多条消息

/var/lib/torque/sched_logs/DATE: No matching job records located

在上述日志中,与问题无关的信息被大写单词替换。

答案 1 :(得分:0)

执行此操作并将其置于工作中的最佳方法是通过结尾脚本添加它。找到配置此信息的完整信息here.资源使用信息是结尾脚本的参数7,如果您写入标准输出,它将附加到您的作业的stdout文件中。