命令占用时间及资源占用查看

time命令

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

直接使用time命令有问题可以使用/usr/bin/time

语法

time [options] COMMAND [arguments]

参数:

-o 指定time命令输出到指定文件

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

-v 显示详细资源占用

-f FORMAT 或 --format=FORMAT:以 FORMAT 字串设定显示方式。当这个选项没有被设定的时候,会用系统预设的格式。

使用示例

yjh@DESKTOP-C4M0UMF:~$ time ls
1.txt  linux_c  nfs  project  python  shell  temp  tool

real    0m0.002s
user    0m0.002s
sys     0m0.000s

输出指定文件

yjh@DESKTOP-C4M0UMF:~$ /usr/bin/time -o time.txt ls
1.txt  linux_c  nfs  project  python  shell  temp  time.txt  tool
yjh@DESKTOP-C4M0UMF:~$ cat time.txt
0.00user 0.00system 0:00.00elapsed ?%CPU (0avgtext+0avgdata 2504maxresident)k
0inputs+0outputs (0major+126minor)pagefaults 0swaps

详细资源占用

yjh@DESKTOP-C4M0UMF:~/linux_c/mipilog/mipi_log_v4.0$ /usr/bin/time -v ./app
......
......
        Command being timed: "./app"
        
        User time (seconds): 0.08
        System time (seconds): 0.01
        Percent of CPU this job got: 50%
        Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.20
        
        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): 1932
        Average resident set size (kbytes): 0
        
        Major (requiring I/O) page faults: 0
        Minor (reclaiming a frame) page faults: 109
        Voluntary context switches: 22
        Involuntary context switches: 0
        Swaps: 0
        File system inputs: 20552
        File system outputs: 120
        Socket messages sent: 0
        Socket messages received: 0
        Signals delivered: 0
        Page size (bytes): 4096
        Exit status: 0

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值