良许Linux教程网 干货合集 Linux系统中time命令详解

Linux系统中time命令详解

Linux系统中time命令用于确定指定命令运行所需的时间。它对于测试脚本和命令的性能非常有用。下面良许教程网为大家分享一下Linux系统中time命令的具体使用方法。

Linux系统中time命令详解

命令格式

 time` `[options] ``command` `[arguments...]

** 选项说明**

 -f FORMAT, --format=FORMAT:使用指定格式输出。如果没有指定输出格式,采用环境变量 TIME 指定的格式
 -p, --portability:使用兼容输出格式,real %e user %U sys %S,这么做的目的是为了与 POSIX 规格相容
 -o FILE, --output=FILE:设定结果输出文件。这个选项会将 time 的输出写入所指定的文件中。如果文件已经存在,覆写其内容
 -a, --append:与 -o 选项一起使用,使用追加模式将输出写入指定文件
 -v, --verbose:使用冗余模式尽可能的输出统计信息
 --help:显示帮助信息
 -V, --version:显示版本信息
 -- :终止选项列表

其中输出格式以类似printf的方式解释,普通字符将直接输出,制表符、换行符、反斜杠百分号,分别使用\t、\n、\和%%表示。%后跟其它字母表示特殊格式,可用格式如下:

 Time
 %E:执行指令所花费的时间,格式[hours:]minutes:seconds
 %e:执行指令所花费的时间,单位是秒
 %S:指令执行时在内核模式(kernel mode)所花费的时间,单位是秒
 %U:指令执行时在用户模式(user mode)所花费的时间,单位是秒
 %P:执行指令时 CPU 的占用比例。其实这个数字就是内核模式加上用户模式的 CPU 时间除以总时间((%S+%U)/%E)
 
 Memory
 %M:执行时所占用的内存的最大值。单位KB
 %t:执行时所占用的内存的平均值,单位是 KB
 %K:执行程序所占用的内存总量(stack+data+text)的平均大小,单位是 KB
 %D:执行程序的自有数据区(unshared data area)的平均大小,单位是 KB
 %p:执行程序的自有栈(unshared stack)的平均大小,单位是 KB
 %X:执行程序是共享代码段(shared text)的平均值,单位是 KB
 %Z:系统内存页的大小,单位是 byte。对同一个系统来说这是个常数
 %F:内存页错误次数。内存页错误指需要从磁盘读取数据到内存
 %R:次要或可恢复的页面错误数。这些是无效页面的错误,但其他虚拟页面尚未使用该内存页。因此,页面中的数据仍然有效,但必须更新系统表
 %W:进程从内存中交换的次数
 %c:进程上下文被切换的次数(因为时间片已过期)
 %w:进程等待次数,指程序主动进行上下文切换的次数,例如等待I/O操作完成
 
 I/O
 %I:此程序所输入的档案数
 %O:此程序所输出的档案数
 %r:此程序所收到的 Socket Message
 %s:此程序所送出的 Socket Message
 %k:此程序所收到的信号 ( Signal )数量
 
 Command Info
 %C:执行时的参数以及指令名称
 %x:指令的结束代码 ( Exit Status )

案例演示

 1. # time date
 2. Sun Mar 26 22:45:34 GMT-8 2006
 3.
 4. real    0m0.136s
 5. user    0m0.010s
 6. sys     0m0.070s
 7. #

在以上实例中,执行命令”time date”(见第1行)。

系统先执行命令”date”,第2行为命令”date”的执行结果。

第3-6行为执行命令”date”的时间统计结果,其中第4行”real”为实际时间,第5行”user”为用户CPU时间,第6行”sys”为系统CPU时间。

以上三种时间的显示格式均为MMmNN[.FFF]s。

利用下面的指令

 time -v ps -aux

我们可以获得执行 ps -aux 的结果和所花费的系统资源。如下面所列的资料:

 USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
 root 1 0.0 0.4 1096 472 ? S Apr19 0:04 init
 root 2 0.0 0.0 0 0 ? SW Apr19 0:00 [kflushd]
 root 3 0.0 0.0 0 0 ? SW Apr19 0:00 [kpiod]
 ......
 root 24269 0.0 1.0 2692 996 pts/3 R 12:16 0:00 ps -aux
 Command being timed: "ps -aux"
 User time (seconds): 0.05
 System time (seconds): 0.06
 Percent of CPU this job got: 68%
 Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.16
 Average shared text size (kbytes): 0
 Average unshared data size (kbytes): 0
 Average stack size (kbytes): 0
 Average total size (kbytes): 0
 Maximum resident set size (kbytes): 0
 Average resident set size (kbytes): 0
 Major (requiring I/O) page faults: 238
 Minor (reclaiming a frame) page faults: 46
 Voluntary context switches: 0
 Involuntary context switches: 0
 Swaps: 0
 File system inputs: 0
 File system outputs: 0
 Socket messages sent: 0
 Socket messages received: 0
 Signals delivered: 0
 Page size (bytes): 4096
 Exit status: 0

以上就是良许教程网为各位朋友分享的Linux系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你!

137e00002230ad9f26e78-265x300

本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部