令人费解的时间命令输出

时间:2010-10-25 01:25:49

标签: unix time benchmarking

我正在尝试对我的一个脚本的运行时间进行基准测试。我得到以下输出

#time ./foo.py
real    0m37.883s
user    1m0.648s
sys     0m4.680s
#

在内部,foo会产生多个其他进程并等待直到所有进程都死掉。 从这个thread以及我之前对实际,用户和系统时间的理解,我认为实时至少等于用户时间。这是因为实时是从开始到结束所经过的所有时间(还包括其他进程使用的时间片)。而用户时间只包括在流程中用户模式代码中花费的CPU时间。那么用户时间如何大于实时?是不是因为某种程度上所有子进程的用户时间都被添加了?

1 个答案:

答案 0 :(得分:2)

实时有时被称为挂钟时间。这是执行程序期间经过的时间。如果代码是多线程的,那么用户时间可以是实时的多倍,因为它听起来像你的代码。是的,它基本上是为线程增加了用户时间;类似的推理适用于系统时间。