如何理解time命令的输出?

时间:2010-08-07 21:23:32

标签: unix

我试图弄清楚我的代码的性能,但我不理解time命令的输出,任何人都可以解释时间命令输出的含义。

以下是我得到的:

time ./filereader 

real    0m0.193s
user    0m0.012s
sys 0m0.056s

什么是realusersys

3 个答案:

答案 0 :(得分:43)

来自:http://zch051383471952.blogspot.com/2010/01/different-of-real-user-sys-time.html

  

实际是指实际经过的时间;   User和Sys指的是使用的CPU时间   只有这个过程。

     
      
  • Real是挂钟时间 - 从通话开始到结束的时间。这是   所有经过的时间,包括时间片   其他过程和时间使用的   进程花费被阻止(例如,如果   它正在等待I / O完成。)
  •   
  • 用户是在用户模式代码中花费的CPU时间量(在...之外)   内核)在这个过程中。这是   仅执行时使用的实际CPU时间   这个过程。其他流程和时间   流程花费被阻止不   算上这个数字。
  •   
  • Sys是进程内核中花费的CPU时间。这个   表示执行CPU时间   内核中的系统调用,如   反对库代码,这是   仍在用户空间中运行。喜欢   'user',这只是CPU使用的时间   这个过程。
  •   

答案 1 :(得分:10)

'real'是它花费的时钟量。如果你要用秒表计时,那就是你得到的。

'user'是进程本身使用的CPU时间量。

'sys'是内核代表进程花费的CPU时间。

答案 2 :(得分:0)

如果您使用C / C ++进行开发,则应使用gprof来分析代码,请检查http://www.cs.duke.edu/~ola/courses/programming/gprof.html