time命令real,user,sys代表的意义

real 指的是执行程序用掉的所有时间.从输入命令回车后开始执行,到命令结束退出。此间由于进程切换,IO阻塞都计算在内

比如time sleep 2, 结果可能是这样子:

real    0m2.002s
user    0m0.000s
sys     0m0.000s


user 指的是进程在用户模式用的cpu时间。这是一个进程真正占用的cpu时间。切换到其它进程和阻塞的时间不包括在内。

比如执行time vim foo, 打开文件等了十几秒,随便敲几个字保存退出后,

real    0m16.422s
user    0m0.084s
sys     0m0.008s

可见大部分时间都用在等待上了,vim占用的cpu时间并不多


sys 指的是进程用在内核模式的cpu时间。因为进程有时候需要特权指令时,比如访问磁盘,外设,需要执行系统调用,sys就是系统调用的执行时间。库调用在用户空间不属于sys.(man一下man手册,即man man,第二部分是系统调用,第三部分是库调用,系统调用更接近底层,与操作系统密切相关;库调用可移植性更好)



一个进程使用的cpu时间=user+sys.



参考:《linux shell 脚本攻略》

你可能感兴趣的:(linux,time)