专栏首页浩CodingLinux命令之time——计算命令运行时间

Linux命令之time——计算命令运行时间

linux下time命令可以获取到一个程序的执行时间,包括程序的实际运行时间(real time),以及程序运行在用户态的时间(user time)和内核态的时间(sys time)。用法是在待执行的命令前加上time即可。

实例

当测试一个程序或比较不同算法时,执行时间是非常重要的,一个好的算法应该是用时最短的。所有类UNIX系统都包含time命令,使用这个命令可以统计时间消耗。例如:

[root@localhost ~]# time ls
anaconda-ks.cfg  install.log  install.log.syslog  satools  text
real    0m0.009s
user    0m0.002s
sys     0m0.007s

会看到其先执行了ls命令,在程序或命令运行结束后,在最后输出了三个时间,它们分别是:

real:实际时间,从command命令行开始执行到运行终止的消逝时间;

user:用户CPU时间,命令执行完成花费的用户CPU时间,即命令在用户态中执行时间总和;

system:系统CPU时间,命令执行完成花费的系统CPU时间,即命令在核心态中执行时间总和;

注:用户CPU时间和系统CPU时间之和为CPU时间,即命令占用CPU执行的时间总和。实际时间要大于CPU时间,因为Linux是多任务操作系统,往往在执行一条命令时,系统还要处理其它任务。另一个需要注意的问题是即使每次执行相同命令,但所花费的时间也是不一样,其花费时间是与系统运行相关的。

shell内建也有一个time命令,当运行time时候是调用的系统内建命令,应为系统内建的功能有限,所以需要时间其他功能需要使用time命令可执行二进制文件/usr/bin/time

使用-o选项将执行时间写入到文件中:

/usr/bin/time -o outfile.txt ls

使用-a选项追加信息:

/usr/bin/time -a -o outfile.txt ls

使用-f选项格式化时间输出:

/usr/bin/time -f "time: %U" ls

-f选项后的参数:

参数

描述

%E

real时间,显示格式为[小时:]分钟:秒

%U

user时间。

%S

sys时间。

%C

进行计时的命令名称和命令行参数。

%D

进程非共享数据区域,以KB为单位。

%x

命令退出状态。

%k

进程接收到的信号数量。

%w

进程被交换出主存的次数。

%Z

系统的页面大小,这是一个系统常量,不用系统中常量值也不同。

%P

进程所获取的CPU时间百分百,这个值等于user+system时间除以总共的运行时间。

%K

进程的平均总内存使用量(data+stack+text),单位是KB。

%w

进程主动进行上下文切换的次数,例如等待I/O操作完成。

%c

进程被迫进行上下文切换的次数(由于时间片到期)。

参考文章:

http://man.linuxde.net/time

https://blog.csdn.net/adaptiver/article/details/6596143

本文分享自微信公众号 - 浩Coding(gh_c4a2e63d2ca7),作者:浩

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-11-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Linux中少见但很实用的命令

    使用Linux操作系统掌握耿简单有效操作命令当然是很重要的了,我们这篇文章就讲一讲那些少见但非常实用的Linux命令,以飨读者!

    浩Coding
  • Linux命令之which——查找命令

    我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索: which 查看可执行文件(命令)的位置。 whereis 查看...

    浩Coding
  • Java EE实用教程笔记----(1)第1章 Java EE平台及开发入门

    最近从图书馆借了本JavaEE实用教程(第3版),打算学习SSH和SSM框架,特此做笔记,以飨读者.

    浩Coding
  • JS实现网页简体繁体字转换功能

    在网页中经常会遇到将简体字转换成繁体字,方便于其他同胞查看。网页中实现简体中文转换成繁体字方法,今天分享给大家,此方法借鉴于他人博客;

    申霖
  • 数据报告 | 华为、小米、联想……在老外眼中,谁是中国手机界的「网红」?

    本文由星云纵横(北京)大数据信息技术有限公司投稿至「CDA数据分析师」,转载请获得授权并标明出处 今天下午,小米将与中国联通联合举行发布会,推出一款千元新旗舰。...

    CDA数据分析师
  • python3 time模块解释

    time() 模块继承自 Object 类,datetime() 模块继承自 Object 下面的 Date() 模块。

    py3study
  • Mac 下安装 Tesserocr

    今天在 Mac 上安装Tesserocr 稀里糊涂报一堆错误,接下来就说说遇到的各种问题

    hedeqiang
  • 手撕深度学习算法(6):手撕LSTM第三课和第四课

    ---- 手撕LSTM第三节课 ? ---- 手撕LSTM第四节课 ?

    GPUS Lady
  • [每日一题]勒索信

    给定一个任意的表示勒索信内容的字符串,和另一个字符串,表示能从杂志中获取到的所有字符,写一个方法判断能否通过剪下杂志中的字符来构造出这封勒索信,若可以,返回 t...

    呼延十
  • 【干货】大学生求职面试12个误区,千万不要再犯错

    误区一 简历要精美漂亮? 很多人认为,简历就是面试者的形象,一定要精美漂亮。其实不然,如果你不是学设计的,就不用把简历搞得像彩色连环画,只要保证简历在交给面试...

    老九君

扫码关注云+社区

领取腾讯云代金券