Linux的Time命令

评论 0 浏览 0 2018-12-16

Time命令是用来确定一个给定的命令需要运行多长时间。它对于测试你的脚本和命令的性能很有用。

例如,如果你有两个不同的脚本在做同样的工作,而你想知道哪一个表现得更好,你可以使用Linux的time命令来确定每个脚本的执行时间。

Time命令的版本

Bash和Zsh,最广泛使用的Linux shells都有自己的内置时间命令版本,它们比Gnu的时间命令更重要。

你可以使用 type命令来确定时间是二进制的还是内置的关键字。

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,这样可以防止内建程序被使用到。

Gnu time允许你对输出进行格式化,并提供其他有用的信息,如内存I/O和IPC调用。

使用Linux的Time命令

在下面的例子中,我们将使用Linux内核来测量下载wget工具所需的时间。

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

哪些内容会被打印出来,取决于你使用的时间命令的版本。

输出

# 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
  • realtotalelapsed(挂钟时间)是指从通话开始到结束的时间。它是指从你按下Enter键到wget指令完成的那一刻的时间。
  • 用户 - 在用户模式下花费的CPU时间的数量。
  • systemsys--在内核模式下花费的CPU时间的数量。

总结

现在你应该对如何使用时间命令有了很好的了解。如果你想了解更多关于Gnu时间命令的信息,请访问time man页面。

最后更新2023-03-11
0 个评论
标签