SLURM报告的关于时间使用的问题

时间:2015-07-04 06:04:09

标签: time slurm sacct

我在理解下面的时间使用报告时遇到了问题:

1)为什么工作时间步骤1& 2不要加起来批量生产线?

2)每列之间的关系是什么,尤其是TotalCPUCPUTime

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 

1 个答案:

答案 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时间   过程

[2] https://en.wikipedia.org/wiki/CPU_time