加入收藏 | 设为首页 | 会员中心 | 我要投稿 通辽站长网 (https://www.0475zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Unix > 正文

第一章*UNIX系统总览(十)--时间值(Time Values)

发布时间:2022-10-14 14:01:05 所属栏目:Unix 来源:互联网
导读: 很早之前开始,UNIX系统维护了两个不同的时间值:
日历时间(Calender time):这个值记录了从Epoch(1970/1/1-00:00:00,UTC)开始到现在的秒数。这个时间可以用来记录文件修改的时间等等。

很早之前开始,UNIX系统维护了两个不同的时间值:

日历时间(Calender time):这个值记录了从Epoch(1970/1/1-00:00:00,UTC)开始到现在的秒数。这个时间可以用来记录文件修改的时间等等。早期系统的数据类型time_t维护这个时间值。

进程时间(Process time):也叫CPU时间,用来测量一个进程使用的中央处理器资源。进程时间用时钟周期(clock ticks)来测量,历史上一秒钟的时钟周期为50、60或者100。早期系统的数据类型clock_t维护了这个时间值。

当我们测量一个进程的执行时间时unix系统时间,我们可以发现UNIX系统维护了三个值:时钟时间(Clock time)、用户时钟时间(User CPU time)和系统时钟时间(System CPU time)。

时钟时间,有时也称为挂钟时间(wall clock time)。是进程用来运行的时间量,这个值取决于其它正在运行的进程的数量。当在报告时钟时间的时候,我们都是指在没有其它活动进程的时候测量的结果。

用户CPU时间是用户指令(user instructions)所花去的CPU时间,而系统CPU时间是内核执行所花支的CPU时间。比如,当一个进程执行系统服务比如read或write时,该系统服务在内核里花费的时间也属于进程时间的一部分。用户CPU时间和系统CPU时间的总和经常被统称为CPU时间。

命令time可以简单地测量任何一个进程的时钟时间、用户时间和系统时间。它以一个命令作为参数:time -p grep _POSIX_SOURCE */*.h > /dev/null。可以看到输出:

real 0m0.81s

user 0m0.11s

sys 0m0.07s

输出取决于当前使用的shell。有的shell不运行/usr/bin/time,而是用别的内建函数一测量命令运行的时间。

(编辑:通辽站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!