我正在尝试测量通过命令行调用的进程的执行时间(即,我想知道该进程完成需要多长时间)。是否有任何命令可以添加到调用进程的命令中以实现此目的?
答案1
time
在要测量的命令前添加。例如: time ls
。
输出将如下所示:
real 0m0.606s
user 0m0.000s
sys 0m0.002s
关于 和real
(来自)的解释:user
sys
man time
real
:该进程所用的实际时间(挂钟时间),以秒为单位。user
:进程直接使用的 CPU 秒总数(在用户模式下),以秒为单位。sys
:系统代表进程(在内核模式下)使用的总 CPU 秒数,以秒为单位。
答案2
对于逐行增量测量,请尝试日晷。
它是一个命令行实用程序,有点像 moreutils 的 ts,用于将时间戳信息添加到另一个命令的标准输出中。对于需要记录耗时较长的进程的历史记录的长时间运行的进程非常有用。
将任何内容通过管道传输到 gnomon 将在每一行前面添加一个时间戳,指示该行是缓冲区中最后一行的时间长度——即下一行出现的时间。默认情况下,gnomon 将显示每行之间经过的秒数,但这是可配置的。
答案3
您可以使用time
:
time ls -R
答案4
有时我发现自己需要一块秒表来计算某个操作(比如我的应用程序启动)需要多长时间,在这种情况下,这里的许多解决方案都没有用。
为此我喜欢使用西南。
安装
wget -q -O - http://git.io/sinister | sh -s -- -u https://raw.githubusercontent.com/coryfklein/sw/master/sw
用法
sw
- start a stopwatch from 0, save start time in ~/.sw
sw [-r|--resume]
- start a stopwatch from the last saved start time (or current time if no last saved start time exists)
- "-r" stands for --resume