使用time命令获取命令执行时间包括什么?
Linux下time命令可以获取到一个程序的执行时间,包括程序的实际运行时间(real time),以及程序运行在用户态的时间(user time)和内核态的时间(sys time)。
它的使用方法和前面讲过的strace类似,在待执行的命令前加上time即可。
来看一个例子程序test。c
#include
int main()
{
FILE *fp = fopen("/tmp/testfile","w");
int i=0;
for(i=0;i<3;++i)
{
fprintf(fp,"%d\n",i);
}
fclose(fp);
return 0;
}
编译后用time命令
来统计它的执行时间:
[leconte@localhost test]$ time 。
/test
real
0m0。020s
user
0m0。000s
sys
0m0。018s
结果表明,程序实际运行时间0。020s,用户态运行时间接近0s,内核态运行时间0。
018s。这是因为我们主要操作是使用文件相关的系统调用,程序大部分时间工作在内核态。
[展开]