我在理解下面的时间使用报告时遇到了问题:
1)为什么工作时间步骤1& 2不要加起来批量生产线?
2)每列之间的关系是什么,尤其是TotalCPU
和CPUTime
?
3)作业的时间使用情况,哪一个最好报告?
$ sacct -o JOBID,AllocCPUs,AveCPU,reqcpus,systemcpu,usercpu,tot
alcpu,cputime,cputimeraw -j 649176
JobID AllocCPUS AveCPU ReqCPUS SystemCPU UserCPU TotalCPU CPUTime CPUTimeRAW
------------ ---------- ---------- -------- ---------- ---------- ---------- ---------- ----------
649176 24 24 00:02.047 01:06.896 01:08.943 00:23:36 1416
649176.batch 24 00:00:00 24 00:00.027 00:00.014 00:00.041 00:23:36 1416
649176.0 24 00:00:00 24 00:00.813 00:24.886 00:25.699 00:08:48 528
649176.1 24 00:00:18 24 00:01.207 00:41.996 00:43.203 00:14:24 864
答案 0 :(得分:2)
1)为什么工作时间步骤1& 2不要加起来批量生产线?
SystemCPU,UserCPU和TotalCPU的.batch
报告的时间是在批处理文件中运行命令所花费的时间,不包括生成的进程[1]。 CPUTime和CPUTimeRAW会计算生成的进程,因此它们会累加到与作业步骤相对应的行。
2)每列之间的关系是什么,特别是对于 TotalCPU和CPUTime?
TotalCPU是每个CPU的UserCPU和SystemCPU的总和,而CPUTime是经过的时间乘以请求的CPU数。两者之间的区别在于CPU无所事事的时间(无论是在用户模式还是在内核模式下),大部分时间都在等待I / O [2]
3)作业的时间使用情况,哪一个最好报告?
这取决于你想要展示的内容。经过(你没有在这里展示)给出了解决方案的时间"。 CPUTimeRAW是经常被计算和支付的。 CPUTime和TotalCPU之间的差异提供了有关I / O开销的信息。
[1]来自手册页
SystemCPU作业或作业步骤使用的系统CPU时间量。输出的格式与。的格式相同 经历的领域。
注意:SystemCPU提供了任务父进程的度量,不包括子进程的CPU时间 过程