我可以根据名称进行猜测,但具体是UNIX中的wall-clock-time,user-cpu-time和system-cpu-time?
user-cpu time是执行用户代码所花费的时间,而kernel-cpu time是由于需要特权操作(如IO到磁盘)而花费在内核上的时间吗?
此测量的时间单位为。
壁挂时间真的是进程在CPU上花费的秒数,还是名称只是误导?
答案 0 :(得分:120)
挂钟时间是指墙上的时钟(或手表中的秒表)在过程开始和“现在”之间经过的时间。
user-cpu time和system-cpu time就像你说的那样 - 用户代码花费的时间和内核代码花费的时间。
单位是秒(和亚秒,可能是微秒或纳秒)。
挂钟时间不是进程在CPU上花费的秒数;它是经过的时间,包括等待CPU开启所花费的时间(其他进程运行时)。
答案 1 :(得分:33)
挂钟时间:根据计算机内部时钟经过的时间,该时间应与外界的时间相匹配。这与CPU使用无关;它是供参考的。
用户CPU时间和系统时间:正是您的想法。系统调用(包括read
,write
等I / O调用等都是通过跳转到内核代码并执行它来执行的。
如果挂钟时间< CPU时间,然后您并行执行程序。如果挂钟时间> CPU时间,您正在等待磁盘,网络或其他设备。
根据SI,所有内容都以秒为单位进行衡量。
答案 2 :(得分:7)
挂钟时间正如它所说的那样,按墙壁(或手表)上的时钟测量所经过的时间
用户cpu时间是“用户土地”所花费的时间,即在非内核进程上花费的时间
系统cpu时间是在内核中花费的时间,通常是花在服务系统调用上的时间。
答案 3 :(得分:6)
time [WHAT-EVER-COMMAND]
real 7m2.444s
user 76m14.607s
sys 2m29.432s
$ lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 24
真实或挂钟
真正的7m2.444s
在具有24核处理器的系统上,此cmd /进程需要7分钟才能完成。通过利用所有给定内核的最可能的并行性。
用户强>
用户76m14.607s
cmd /进程已经利用了这么多的cpu时间。 换句话说,在具有单核CPU的机器上,真实和用户将几乎相等,因此相同的命令将需要约76分钟才能完成。
<强> SYS 强>
sys 2m29.432s
这是内核执行所有基本/系统级操作以运行此cmd所需的时间,包括上下文切换,资源分配等。
注意:该示例假定您的命令使用并行/线程。