2015-07-04 160 views
1

我有問題的理解下面的時間使用情況報告:問題報告SLURM

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 

回答

2

1)爲什麼作業步1 & 2次加起來還不到批次線?

報道.batch爲SystemCPU,UserCPU和TotalCPU的時間是時間花費在批處理文件運行的命令,不計算產生的進程[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時間作業或作業工序中使用的量。輸出格式與 Elapsed字段的格式相同。

注意:SystemCPU提供了該任務的父進程的度量,並且不包括子進程的CPU時間。

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

+0

我怎麼能轉換CPUTimeRAW實時? @damienfrancois – Alper