我们可以直接使用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