Linux时间命令time

时间:2020-03-05 15:28:42  来源:igfitidea点击:

time命令用于确定给定命令运行需要多长时间。
这对于测试脚本和命令的性能很有用。

例如,如果我们有两个不同的脚本执行相同的工作,并且想知道哪个脚本的性能更好,则可以使用Linux time命令来确定每个脚本的执行时间。

time命令版本

Bash和Zsh这两个使用最广泛的Linux Shell都有自己的内置time命令版本,它们优先于Gnu time命令。

我们可以使用“类型”命令来确定时间是二进制还是内置关键字。

type time
# Bash
time is a shell keyword
# Zsh
time is a reserved word
# GNU time (sh)
time is /usr/bin/time

要使用Gnu time命令,我们需要指定时间二进制文件的完整路径,通常是'/usr/bin/time',请使用'env'命令或者使用反斜杠'\ time'来防止和ins被使用。

Gnu时间允许我们格式化输出并提供其他有用的信息,例如内存I/O和IPC调用。

使用Linux time命令

在以下示例中,我们将使用wget工具测量下载Linux内核所需的时间:

time wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.19.9.tar.xz

输出的输出内容取决于我们使用的time命令的版本:

# Bash
real	0m33.961s
user	0m0.340s
sys	0m0.940s
# Zsh
0.34s user 0.94s system 4% cpu 33.961 total
# GNU time (sh)
0.34user 0.94system 0:33.96elapsed 4%CPU (0avgtext+0avgdata 6060maxresident)k
0inputs+201456outputs (0major+315minor)pagefaults 0swaps
  • 实际或者总计或者已用时间(挂钟时间)是从调用开始到结束的时间。这是从我们按下“ Enter”键到完成“ wget”命令的时间。
  • 用户-用户模式下花费的CPU时间。
  • system或者sys-内核模式下花费的CPU时间。