UNIX中的wall-clock-time,user-cpu-time和system-cpu-time具体是什么?

时间:2011-09-07 14:50:01

标签: unix operating-system

我可以根据名称进行猜测,但具体是UNIX中的wall-clock-time,user-cpu-time和system-cpu-time?

user-cpu time是执行用户代码所花费的时间,而kernel-cpu time是由于需要特权操作(如IO到磁盘)而花费在内核上的时间吗?

此测量的时间单位为。

壁挂时间真的是进程在CPU上花费的秒数,还是名称只是误导?

4 个答案:

答案 0 :(得分:120)

挂钟时间是指墙上的时钟(或手表中的秒表)在过程开始和“现在”之间经过的时间。

user-cpu time和system-cpu time就像你说的那样 - 用户代码花费的时间和内核代码花费的时间。

单位是秒(和亚秒,可能是微秒或纳秒)。

挂钟时间不是进程在CPU上花费的秒数;它是经过的时间,包括等待CPU开启所花费的时间(其他进程运行时)。

答案 1 :(得分:33)

挂钟时间:根据计算机内部时钟经过的时间,该时间应与外界的时间相匹配。这与CPU使用无关;它是供参考的。

用户CPU时间和系统时间:正是您的想法。系统调用(包括readwrite等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所需的时间,包括上下文切换,资源分配等。

  

注意:该示例假定您的命令使用并行/线程。

     

详细的手册页:https://linux.die.net/man/1/time