统计给定命令所破费的总工夫,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选项后的参数
参数形容
%Ereal工夫,显示格局为[小时:]分钟:秒
%Uuser工夫。
%Ssys工夫。
%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扼要教程