我执行脚本得到以下结果:
real 0m1.027s
user 0m1.752s
我明白那个:
- 实际时间是挂钟时间。如果我用秒表从执行开始到结束进行测量,就会得到这个时间。
- 用户时间是 CPU 专门执行脚本代码的时间(例如,此时间不包括内核系统调用)。
为什么可能存在用户时间 > 实际时间的情况?
答案1
如果线程并行运行,多线程应用程序就有可能实现这一点。如果两个线程一直在运行,那么该进程在每一秒的墙/实时中会消耗两秒的 CPU 时间。
答案2
是的。用户时间是执行进程中每个线程所花费时间的总和。如果同时执行多个线程,则用户时间可能大于挂钟(实际)时间。