Linux时间命令输出中的差异

sus*_*its 5 linux time

我知道该time命令的输出在该user部分下可以显示比real多处理器情况部分更长的时间,但是最近,当我看到该程序real远远大于user+ 时,我试图分析程序sys.

$ time ./test.o

real    0m5.576s
user    0m1.270s
sys     0m0.540s
Run Code Online (Sandbox Code Playgroud)

任何人都能解释为什么会造成这种行为吗?

Fli*_*mzy 8

这是正常的行为.

"真实"是挂钟时间.在你的例子中,运行'./test.o'需要5.576秒

'user'是用户CPU时间,或(大致)用户空间进程使用的CPU时间.这基本上是你的CPU花在实际执行'./test.o'上的时间.1.270秒

最后,'sys'是系统CPU时间,或者(大致)内核使用的CPU时间.0.540秒

如果添加sys + user,则会获得CPU执行程序所花费的时间.

真实的 - (user + sys)是运行程序所花费的时间.在没有运行程序的调用和终止之间花费了3.766秒- 可能正在等待CPU完成运行其他程序,等待磁盘I/O等.