Unix中的挂钟时间、用户CPU时间和系统CPU时间具体是什么?

mwkjh3gx  于 2022-11-23  发布在  Unix
关注(0)|答案(4)|浏览(384)

我可以根据名称进行猜测,但Unix中的挂钟时间、用户CPU时间和系统CPU时间具体是什么?
用户CPU时间是执行用户代码所花费的时间量,而内核CPU时间是由于特权操作(如磁盘I/O)的需要而在内核中花费的时间量吗?
此度量单位是什么?
挂钟时间真的是进程在CPU上花费的秒数吗?或者这个名字只是误导?

eiee3dmh

eiee3dmh1#

挂钟时间是指挂在墙上的时钟(或手中的秒表)所测量的从流程开始到“现在”之间所经过的时间。
用户cpu时间和系统cpu时间与您所说的差不多--用户代码花费的时间和内核代码花费的时间。
单位为秒(和亚秒,可能是微秒或纳秒)。
挂钟时间不是进程在CPU上花费的秒数;它是经过的时间,包括等待它打开CPU(当其他进程开始运行时)所花费的时间。

sycxhyv7

sycxhyv72#

挂钟时间:根据计算机内部时钟计算的时间,它应该与外部世界的时间一致。这与CPU的使用无关;供参考。
用户CPU时间和系统时间:系统调用,包括I/O调用,如readwrite等,是通过跳转到内核代码并执行它来执行的。
如果挂钟时间〈CPU时间,那么你正在并行执行一个程序;如果挂钟时间〉CPU时间,那么你正在等待磁盘、网络或其他设备。
根据SI,所有测量均以秒为单位。

vxbzzdmp

vxbzzdmp3#

第一个

真实的或挂钟
真实的7m2.444s

在配备24核处理器的系统上,此cmd/process需要7分钟以上的时间才能完成。这是通过对所有给定内核利用最大可能的并行性实现的。

用户
用户76分钟14.607秒

cmd/process已经使用了这么多的CPU时间。
换句话说,在具有单核CPU的计算机上,真实的和用户将几乎相等,因此完成相同的命令将需要大约76分钟。
系统

系统2米29.432秒

这是内核执行所有基本/系统级操作以运行此cmd所花费的时间,包括上下文切换、资源分配等。
注意:此示例假定您的命令使用并行度/线程。
详细手册页:https://linux.die.net/man/1/time

13z8s7eq

13z8s7eq4#

挂钟时间正是它所说的,由你墙上的时钟(或手表)测量的流逝的时间
用户CPU时间是在“用户空间”中花费的时间,即在非内核进程上花费的时间。
系统CPU时间是在内核中花费的时间,通常是用于服务系统调用的时间。

相关问题