我们可以直接使用UNIX操作系统来执行时间

time COMMAND

这样,会在执行完成命令之后,将命令的执行时间,添加到stderr输出之中

图片

上面分别是执行的实际时间.user时间,sys时间

read时间,就是整体的事件,包含进程等待IO操作的阻塞时间

user时间,指的是进程花费在用户模式的CPU事件,真正的执行时间

sys,在内核态中的事件,内核系统中调用的事件,进程使用的CPU事件

time命令的可执行二进制文件在/usr/bin/time 还有SHELL内建命令叫time

在运行time时候,time命令选项有限,我们如果需要另外的功能,就应该使用可以执行文件time的绝对路径

可以使用选项-o filename将命令执行时间写入文件

而这个-o filename应该出现在COMMAND之前

还可以使用选项-f,利用格式化字符串时间输出,可以格式特定的事件

real时间对应的就是 -%e

user -%U

sys -%S

通过结合参数字符串,可以创建格式化的输出

/usr/bin/time -f “FORMAT STRING” COMMAND

例如

/usr/bin/time -f “Time:%U” -a -o timing.log

格式化输出生成后被写入标准输出,执行时间信息被写出标准错误,我们可以利用错误重定向操作符 2> 进行信息重定向

/usr/bin/time -f “Time:%U” name> command_output 2>time.log

我们还展示了一些可以使用的参数

图片

图片

/usr/bin/time -f “Page size:%Z bytes” ls>/dev/null

Page size:4096 bytes

发表评论

邮箱地址不会被公开。 必填项已用*标注