Ubuntu 12.04 /usr/bin/time 统计信息中的变化

Ubuntu 12.04 /usr/bin/time 统计信息中的变化

我有一个在 Ubuntu 12.04.5 LTS 上运行的命令行工具。我需要计算这个程序的CPU时间。我一直在检查 /usr/bin/time 函数。

命令: /usr/bin/time -v -a -o timelog.dat command args

我在相同的硬件上运行相同的命令两次。 2次运行结果如下:

第一次运行:

User time (seconds): 4085.50
System time (seconds): 4.75
Percent of CPU this job got: 54%
Elapsed (wall clock) time (h:mm:ss or m:ss): 2:04:19
Maximum resident set size (kbytes): 5093280
Average resident set size (kbytes): 0
Major (requiring I/O) page faults: 0
Minor (reclaiming a frame) page faults: 384474
Voluntary context switches: 436
Involuntary context switches: 628160
Swaps: 0
File system inputs: 24
File system outputs: 102936

第二次运行:

User time (seconds): 2694.91
System time (seconds): 2.51
Percent of CPU this job got: 99%
Elapsed (wall clock) time (h:mm:ss or m:ss): 45:18.91
Maximum resident set size (kbytes): 5093280
Average resident set size (kbytes): 0
Major (requiring I/O) page faults: 0
Minor (reclaiming a frame) page faults: 384483
Voluntary context switches: 223
Involuntary context switches: 4321
Swaps: 0
File system inputs: 9288
File system outputs: 100136

服务器CPU规格:Clock speed: 2.4 GHz, Turbo Speed: 2.7 GHz, 8 physical cores, 16 threads

因此,在第一次运行时,服务器处于满负载状态,我有超过 16 个进程。在第二次运行中,我有 7 个进程。我如何确定我获得的时间信息?当 CPU 使用率均为 99% 时,我们可以对这 2 次运行进行比较吗?是否有另一种方法来测量一个过程所花费的确切时间?即使/usr/bin/time函数应该计算 CPU 时间,为什么我会得到完全不同的结果。

任何帮助将不胜感激

预先感谢,塞尔哈特

相关内容