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
- real或total或elapsed(挂钟时间)是指从通话开始到结束的时间。它是指从你按下
Enter
键到wget
指令完成的那一刻的时间。 - 用户 - 在用户模式下花费的CPU时间的数量。
- system或sys--在内核模式下花费的CPU时间的数量。
总结
现在你应该对如何使用时间命令有了很好的了解。如果你想了解更多关于Gnu时间命令的信息,请访问time man页面。
0 个评论