unix环境下的时间值

马谦马谦马谦 2018年5月18日10:44:46 发表评论
文章最后编辑于:2018-5-18 10:49:57

一、时间介绍

unix环境下一共有两种时间值:

  1. 日历时间(Calendar time):该值是自1970年1月1日00:00:00以来所经过的秒数累计值,也叫国际标准时间(UTC,早期的手册称UTC为格林尼治标准时间),这些时间值可用于记录文件最近一次的修时间等,是最常用到的时间。
  2. 进程时间(Process time):也被称作CPU时间,用来度量进程使用的中央处理器资源,它由时钟滴答(clock ticks)表示,每秒50、60或者100个时钟滴答。

通常当我们度量一个进程的执行时间时会包含三种时间属性:时钟时间、用户CPU时间和系统CPU时间。

时钟时间(wall clock time)指进程运行所花费的时间,也就是命令开始执行到结束的时间。它的值与系统中其他的进程数量有关,包括了其他进程所占用的时间和进程被阻塞时所花费的时间。

用户CPU时间是指进程执行用户指令所花费的时间,系统CPU时间则指进程在进行系统调用时占用的时间(例如当我们执行openwrite等函数时)。用户CPU时间和系统CPU时间的和被称为CPU时间。

二、度量时间

linux系统中可以通过time命令度量一个命令的执行时间,把待执行的命令加在time命令后面就可以了。

unix环境下的时间值默认情况下使用的time命令是shell自带的,这个命令的功能有限,更多的时候可以选择使用/usr/bin/time

它的常用选项:

  • -f:自定义输出格式,后面接%U %E %S等等。
  • -o:重定向输出到文件。
  • -p:固定输出为以下格式:

本文共执行44次查询,耗时0.271秒!
马谦马谦马谦

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: