这篇文章主要介绍Linux中如何使用time命令,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

Linux常用命令 time命令的用途,在于量测特定指令执行时所需消耗的时间及系统资源等资讯。

语法

time[options]COMMAND[arguments]

参数:

-o 或 –output=FILE:设定结果输出档。这个选项会将 time 的输出写入 所指定的档案中。如果档案已经存在,系统将覆写其内容。

-a 或 –append:配合 -o 使用,会将结果写到档案的末端,而不会覆盖掉原来的内容。

-f FORMAT 或 –format=FORMAT:以 FORMAT 字串设定显示方式。当这个选项没有被设定的时候,会用系统预设的格式。不过你可以用环境变数 time 来设定这个格式,如此一来就不必每次登入系统都要设定一次。

time 指令可以显示的资源有四大项,分别是:

Time resources

Memory resources

IO resources

Command info

详细的内容如下:

1、Time Resources

E 执行指令所花费的时间,格式是:[hour]:minute:second。请注意这个数字并不代表实际的 CPU 时间。

e 执行指令所花费的时间,单位是秒。请注意这个数字并不代表实际的 CPU 时间。

S 指令执行时在核心模式(kernel mode)所花费的时间,单位是秒。

U 指令执行时在使用者模式(user mode)所花费的时间,单位是秒。

P 执行指令时 CPU 的占用比例。其实这个数字就是核心模式加上使用者模式的 CPU 时间除以总时间。

2、Memory Resources

M 执行时所占用的实体记忆体的最大值。单位是 KB

t 执行时所占用的实体记忆体的平均值,单位是 KB

K 执行程序所占用的记忆体总量(stack+data+text)的平均大小,单位是 KB

D 执行程序的自有资料区(unshared data area)的平均大小,单位是 KB

p 执行程序的自有堆叠(unshared stack)的平均大小,单位是 KB

X 执行程序间共享内容(shared text)的平均值,单位是 KB

Z 系统记忆体页的大小,单位是 byte。对同一个系统来说这是个常数

3、IO Resources

F 此程序的主要记忆体页错误发生次数。所谓的主要记忆体页错误是指某一记忆体页已经置换到置换档(swap file)中,而且已经分配给其他程序。此时该页的内容必须从置换档里再读出来。

R 此程序的次要记忆体页错误发生次数。所谓的次要记忆体页错误是指某一记忆体页虽然已经置换到置换档中,但尚未分配给其他程序。此时该页的内容并未被破坏,不必从置换档里读出来

W 此程序被交换到置换档的次数

c 此程序被强迫中断(像是分配到的 CPU 时间耗尽)的次数

w 此程序自愿中断(像是在等待某一个 I/O 执行完毕,像是磁碟读取等等)的次数

I 此程序所输入的档案数

O 此程序所输出的档案数

r 此程序所收到的 Socket Message

s 此程序所送出的 Socket Message

k 此程序所收到的信号 ( Signal )数量

4、Command Info

C 执行时的参数以及指令名称

x 指令的结束代码 ( Exit Status )

-p or –portability:这个选项会自动把显示格式设定成为:

real %e user %Usys %S:这么做的目的是为了与 POSIX 规格相容。

-v or –verbose:这个选项会把所有程序中用到的资源通通列出来,不但如一般英文语句,还有说明。对不想花时间去熟习格式设定或是刚刚开始接触这个指令的人相当有用。

实例

1.#timedate2.SunMar2622:45:34GMT-820063.4.real0m0.136s5.user0m0.010s6.sys0m0.070s7.#

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

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

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

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

利用下面的指令

time-vps-aux

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

USERPID%CPU%MEMVSZRSSTTYSTATSTARTTIMECOMMANDroot10.00.41096472?SApr190:04initroot20.00.000?SWApr190:00[kflushd]root30.00.000?SWApr190:00[kpiod]......root242690.01.02692996pts/3R12:160:00ps-auxCommandbeingtimed:"ps-aux"Usertime(seconds):0.05Systemtime(seconds):0.06PercentofCPUthisjobgot:68%Elapsed(wallclock)time(h:mm:ssorm:ss):0:00.16Averagesharedtextsize(kbytes):0Averageunshareddatasize(kbytes):0Averagestacksize(kbytes):0Averagetotalsize(kbytes):0Maximumresidentsetsize(kbytes):0Averageresidentsetsize(kbytes):0Major(requiringI/O)pagefaults:238Minor(reclaimingaframe)pagefaults:46Voluntarycontextswitches:0Involuntarycontextswitches:0Swaps:0Filesysteminputs:0Filesystemoutputs:0Socketmessagessent:0Socketmessagesreceived:0Signalsdelivered:0Pagesize(bytes):4096Exitstatus:0

以上是“Linux中如何使用time命令”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!