A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
-bash: time: command not found #Debian apt-get install time #Ubuntu apt-get install time #Arch Linux pacman -S time #Kali Linux apt-get install time #CentOS yum install time #Fedora dnf install time #Raspbian apt-get install time
time 命令使用给定参数运行指定的程序命令。 命令完成后,时间将消息写入标准错误,提供有关此程序运行的计时统计信息。 这些统计信息包括:
time [-p] command [arguments...]
-p 如果指定了-p,则定时摘要以可移植POSIX格式打印。
指令:指定需要运行的额指令及其参数。
当测试一个程序或比较不同算法时,执行时间是非常重要的,一个好的算法应该是用时最短的。所有类 UNIX 系统都包含 time 命令,使用这个命令可以统计时间消耗。例如:
$ time ls clk_1621.log fail_1611.log fail_1622.log fail_1633.log pv_1625.log pv_1636.log req_1609.log req_1620.log req_1631.log res_1622.log res_1633.log win_1625.log win_1636.log fail_1601.log fail_1612.log fail_1623.log fail_1634.log pv_1626.log pv_1637.log req_1610.log req_1621.log req_1632.log res_1623.log res_1634.log win_1626.log win_1637.log fail_1602.log fail_1613.log fail_1624.log fail_1635.log pv_1627.log pv_1638.log req_1611.log req_1622.log req_1633.log res_1624.log res_1635.log win_1627.log win_1638.log fail_1603.log fail_1614.log fail_1625.log fail_1636.log pv_1628.log req_1601.log req_1612.log req_1623.log req_1634.log res_1625.log res_1636.log win_1628.log fail_1604.log fail_1615.log fail_1626.log fail_1637.log pv_1629.log req_1602.log req_1613.log req_1624.log req_1635.log res_1626.log res_1637.log win_1629.log fail_1605.log fail_1616.log fail_1627.log fail_1638.log pv_1630.log req_1603.log req_1614.log req_1625.log req_1636.log res_1627.log res_1638.log win_1630.log fail_1606.log fail_1617.log fail_1628.log pv_1620.log pv_1631.log req_1604.log req_1615.log req_1626.log req_1637.log res_1628.log win_1620.log win_1631.log fail_1607.log fail_1618.log fail_1629.log pv_1621.log pv_1632.log req_1605.log req_1616.log req_1627.log req_1638.log res_1629.log win_1621.log win_1632.log fail_1608.log fail_1619.log fail_1630.log pv_1622.log pv_1633.log req_1606.log req_1617.log req_1628.log res_1612.log res_1630.log win_1622.log win_1633.log fail_1609.log fail_1620.log fail_1631.log pv_1623.log pv_1634.log req_1607.log req_1618.log req_1629.log res_1620.log res_1631.log win_1623.log win_1634.log fail_1610.log fail_1621.log fail_1632.log pv_1624.log pv_1635.log req_1608.log req_1619.log req_1630.log res_1621.log res_1632.log win_1624.log win_1635.log real 0m0.002s user 0m0.002s sys 0m0.001s
输出的信息分别显示了该命令所花费的 real 时间、user 时间和 sys 时间:
Shell 内建也有一个 time 命令,当运行 time 时候是调用的系统内建命令,应为系统内建的功能有限,所以需要时间其他功能需要使用 time 命令可执行二进制文件 /usr/bin/time
。
使用 -o 选项将执行时间写入到文件中:
/usr/bin/time -o outfile.txt ls
使用 -a 选项追加信息:
/usr/bin/time -a -o outfile.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 | 进程被迫进行上下文切换的次数(由于时间片到期)。 |