/ usr / bin /多核平台的时间和时间

时间:2013-11-06 05:33:13

标签: linux shell time multicore

人。我对以下结果感到困惑:

1)。 时间xxxxx

 real 0m28.942s
 user 0m28.702s
 sys 0m0.328s

2)。 / usr / bin / time -p xxxxx

real 28.48
user 0.00
sys 0.13

如此。我有一些问题(用户:0m28.702s!= 0,sys:0m0.328s!= 0.13):

  1. 时间和/ usr / bin /时间有什么不同?
  2. 在不同的cpu平台上有什么不同,一个是核心还是多核?
  3. 任何建议?

1 个答案:

答案 0 :(得分:1)

使用type

很容易找到第一个问题的答案
$ type time
time is a shell keyword
$ type /usr/bin/time
/usr/bin/time is /usr/bin/time

因此第一个命令使用内置的bash,而后者则使用外部程序。但是,不知道你使用的系统,我不知道该程序来自哪里。在Gentoo Linux上,默认情况下没有/usr/bin/time,唯一可用的实现是GNU time,它具有不同的输出。


也就是说,我尝试过类似于你的命令(假设它正在处理1G文件),并得到以下结果:

$ time sed -e 's/0//g' big-file > big-file2

real    0m40.600s
user    0m31.295s
sys     0m4.174s

$ /usr/bin/time sed -e 's/0//g' big-file > big-file2
35.06user 3.31system 0:40.58elapsed 94%CPU (0avgtext+0avgdata 3488maxresident)k
8inputs+2179176outputs (0major+276minor)pagefaults 0swaps

如您所见,数字相似。

然后,鉴于您的结果(0用户空间时间是非常不可能的),我会说您的/usr/bin/time只是被打破了。这可能值得向其作者报告错误。