每天学一个 Linux 命令(86):time
发布日期:2021-07-01 03:54:40 浏览次数:2 分类:技术文章

本文共 1438 字,大约阅读时间需要 4 分钟。

点击下方“民工哥技术之路”,选择“设为星标”

回复“1024”获取独家整理的学习资料!

命令简介

time 命令用于计算命令执行时间(相当于统计总时间)。

time 命令使用指定参数运行指定的程序命令, 命令完成后,时间将消息写入标准错误,提供有关此程序运行的计时统计信息。这些统计信息包括:

  • 调用和终止之间经过的实时时间

  • 用户CPU时间

  • 系统CPU时间

语法格式

time [-p] command [arguments...]

选项说明

-f   #使用指定格式输出-p   #使用兼容 POSIX 的格式输出-o   #将结果输出到指定文件-a   #使用追加模式将输出写入指定文件-v   #输出详细信息--help   #显示帮助信息-V       #显示版本信息

扩展参数说明(-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 #进程被迫进行上下文切换的次数(由于时间片到期)

应用举例

显示执行ls命令的时间

[root@centos7 ~]# time ls123              goInception-linux-amd64-v1.2.3.tar.gz  mingongge.z02234              httpd                                  mingongge.zip456              httpd-2.4.46                           mysql_backup.tar.gzanaconda-ks.cfg  httpd-2.4.46.tar.gz                    mysql_bakcupdos_test.txt     httpd-2.4.6-95.el7.centos.x86_64.rpm   testdirdownload         mingongge.file                         test.txtgoinception      mingongge.z01real 0m0.013suser 0m0.007ssys 0m0.003s

输出的信息real 时间、user 时间和 sys 时间详解:

  • real 时间是指挂钟时间,也就是命令开始执行到结束的时间。这个短时间包括其他进程所占用的时间片,和进程被阻塞时所花费的时间。

  • user 时间是指进程花费在用户模式中的 CPU 时间,这是唯一真正用于执行进程所花费的时间,其他进程和花费阻塞状态中的时间没有计算在内。

  • sys 时间是指花费在内核模式中的 CPU 时间,代表在内核中执系统调用所花费的时间,这也是真正由进程使用的 CPU 时间。

一般常用time比较两个命令执行的效率。

推荐阅读 点击标题可跳转

转载地址:https://mingongge.blog.csdn.net/article/details/115291044 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:每天学一个 Linux 命令(84):rpm
下一篇:每天学一个 Linux 命令(87):history

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2024年04月26日 10时38分09秒