统计给定命令所破费的总工夫,time命令 用于统计给定命令所破费的总工夫。
命令语法
time [参数]
命令参数
- 指令:指定须要运行的额指令及其参数。
统计ls
执行的工夫
当测试一个程序或比拟不同算法时,执行工夫是十分重要的,一个好的算法应该是用时最短的。所有类UNIX零碎都蕴含time命令,应用这个命令能够统计工夫耗费。例如:
> time lsreal 0m0.001suser 0m0.000ssys 0m0.002s
输入的信息别离显示了该命令所破费的real工夫、user工夫和sys工夫。
- real工夫是指挂钟工夫,也就是命令开始执行到完结的工夫。这个短时间包含其余过程所占用的工夫片,和过程被阻塞时所破费的工夫。
- user工夫是指过程破费在用户模式中的CPU工夫,这是惟一真正用于执行过程所破费的工夫,其余过程和破费阻塞状态中的工夫没有计算在内。
- sys工夫是指破费在内核模式中的CPU工夫,代表在内核中执零碎调用所破费的工夫,这也是真正由过程应用的CPU工夫。
外围态(Kernel Mode):在内核态,代码领有齐全的,不受任何限度的拜访底层硬件的能力。能够执行任意的CPU指令,拜访任意的内存地址。内核态通常状况下,都是为那些最底层的,由操作系统提供的,可信牢靠的代码来运行的。内核态的代码解体将是灾难性的,它会影响到整个零碎。
用户态(User Mode):在用户态,代码不具备间接拜访硬件或者拜访内存的能力,而必须借助操作系统提供的牢靠的,底层的APIs来拜访硬件或者内存。因为这种隔离带来的爱护作用,用户态的代码解体(Crash),零碎是能够复原的。咱们大多数的代码都是运行在用户态的。
装置第三方的time
命令
shell内建也有一个time命令,当运行time时候是调用的零碎内建命令,应为零碎内建的性能无限,所以须要工夫其余性能须要应用time命令可执行二进制文件/usr/bin/time。
Centos装置
> yum -y install time
应用-o选项将执行工夫写入到文件中
> /usr/bin/time -o out.txt ls
应用-a选项追加信息:
> /usr/bin/time -a -o out.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 | 过程被迫进行上下文切换的次数(因为工夫片到期)。 |
取得执行 ps -aux 的后果和所破费的系统资源
> /usr/bin/time -v ps -aux....Command being timed: "ps -aux"User time (seconds): 0.00System time (seconds): 0.01Percent of CPU this job got: 100%Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.01Average shared text size (kbytes): 0Average unshared data size (kbytes): 0Average stack size (kbytes): 0Average total size (kbytes): 0Maximum resident set size (kbytes): 1944Average resident set size (kbytes): 0Major (requiring I/O) page faults: 0Minor (reclaiming a frame) page faults: 593Voluntary context switches: 4Involuntary context switches: 7Swaps: 0File system inputs: 0File system outputs: 0Socket messages sent: 0Socket messages received: 0Signals delivered: 0Page size (bytes): 4096Exit status: 0
原文链接:https://rumenz.com/rumenbiji/...
微信公众号:入门小站
- 回复【1001】获取 linux常用命令速查手册
- 回复【10010】获取 阿里云ECS运维Linux系统诊断
- 回复【10012】获取 Linux学习笔记【强悍总结值得一看】
- 回复【10013】获取 shell扼要教程