如何理解time命令的输出?

Avi*_*ash 35 unix

我试图找出我的代码的性能,但我不明白time命令的输出,任何人都可以解释时间命令输出的含义.

以下是我得到的:

time ./filereader 

real    0m0.193s
user    0m0.012s
sys 0m0.056s
Run Code Online (Sandbox Code Playgroud)

什么是real,user,sys

Nin*_*Cat 45

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

实际是指实际经过的时间; User和Sys指的是仅由进程使用的CPU时间.

  • 真实是挂钟时间 - 从通话开始到结束的时间.这是所有经过的时间,包括其他进程使用的时间片和进程花费的时间(例如,如果它等待I/O完成).
  • 用户是进程内用户模式代码(内核外)花费的CPU时间.这只是执行过程时使用的实际CPU时间.流程花费的其他流程和时间不计入此数字.
  • Sys是进程内核中花费的CPU时间.这意味着执行内核中系统调用所花费的CPU时间,而不是仍在用户空间中运行的库代码.与'user'一样,这只是进程使用的CPU时间.


zeb*_*h49 11

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

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

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

  • "真实"不是秒表所说的时间,至少从我的观察来看.例如,昨晚我开始了一个过程,今天早上它报告了"真正的2376m6.172s".实际上,已经过去了不到12个小时. (2认同)