美文网首页
查看命令执行时间——time命令

查看命令执行时间——time命令

作者: 我在睡觉 | 来源:发表于2018-01-23 15:06 被阅读643次

    time命令可以统计一个程序的执行时间,可以用于评估一个程序的性能。

    [root@localhost ~]# time ls
    anaconda-ks.cfg install.log install.log.syslog satools

    real 0m0.009s
    user 0m0.002s
    sys 0m0.007s

    • real时间是指挂钟时间,也就是命令开始执行到结束的时间。这个短时间包括其他进程所占用的时间片,和进程被阻塞时所花费的时间。
    • user时间是指进程在用户模式中的CPU执行时间,其他进程花费的时间和阻塞状态的时间没有计算在内。
    • sys时间是进程在内核模式中的CPU执行时间,代表进程使用系统调用所花费的CPU执行时间,这也是由进程执行而消耗的CPU执行时间。

    执行模式?

    操作系统在执行一个进程时,会不断的在两种模式之间切换,它们是用户模式内核模式
    用户模式很好解释,就是这个进程的程序本身被运行时的运行模式。比如在程序中给反转一个字符串之类的操作,这个操作因为完全不依赖于其他系统调用,所以是在用户模式下被执行。那么当程序中有一段代码需要读取一个文件的时候,操作系统就需要切换到系统模式下执行文件读写系统调用了。

    若想深入理解什么是系统调用可以阅读[Linux系统调用详解(实现机制分析)--linux内核剖析(六)](
    http://blog.csdn.net/gatieme/article/details/

    总结

    上面ls命令的用户模式下执行时间是0.02秒,内核模式下(ls命令需要调用访问文件系统的系统调用)的执行时间是0.007秒。合计ls命令的执行时间就是0.027秒。

    所以,一个程序的CPU执行时间等于user时间加上sys时间。

    相关文章

      网友评论

          本文标题:查看命令执行时间——time命令

          本文链接:https://www.haomeiwen.com/subject/lvesaxtx.html