我想知道是否有更好的方法可以在PBS作业脚本中获取一些作业统计信息(例如cputime,walltime,mem usage等)(一旦作业完成)。在我目前的设置中,我的PBS脚本末尾有一行
qstat -f "${PBS_JOBID}"
但是,问题是如果工作因某种原因失败或被杀,这条线就不会被执行。请告诉我其他可以使用的选项。
非常感谢任何帮助或建议,谢谢!
答案 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文件中。