zoukankan      html  css  js  c++  java
  • Linux中time命令输出的Real time, User time and Sys time

    原文:

    https://www.pianshen.com/article/4664449845/

    http://blog.sciencenet.cn/blog-830496-782593.html

    在运行的程序之前加 time 最后得出三个时间 real、  user、 sys, real是程序的实际运行时间,sys是内核态的时间,user是用户态的时间,单核情况,real远远大于user和sys之和。

    real,从程序开始到程序执行结束时所消耗的时间,包括CPU的用时和所有延迟程序执行的因素的总和。CPU用时被划分为user和sys两块。user表示程序本身,以及它所调用的库中的子例程使用的时间。sys是由程序直接或间接调用的系统调用执行的时间。

    real=cpu用时+其他因素时间
    cpu 用时=user+sys
    所以: real> user + sys (单核情况)

    time命令结果有三行组成:real、user和sys。CPU用时被划分为user和sys两块。

    real值表示从程序开始到程序执行结束时所消耗的时间,包括CPU的用时

    user值表示程序本身,以及它所调用的库中的子例程使用的时间

    sys是由程序直接或间接调用的系统调用执行的时间

    在单处理器上,real值和整个CPU用时之差,也就是real - ( user + sys )是所有延迟程序执行的因素的总和。

    使用示例

    示例一 统计运行时间

    [root@web186 root]# time find . -name "mysql.sh" 
    ./work186/sms/bin/mysql.sh
    ./work186/sms/src/scripts/mysql.sh
    ./work186/sms/src/scripts1/mysql.sh
    ./work186/sms1/bin/mysql.sh
    ./work186/sms1/src/scripts/mysql.sh
    ./temp/sms/bin/mysql.sh
    ./temp/sms/src/scripts/mysql.sh

    real    0m14.837s
    user    0m0.030s
    sys     0m0.120s
    [root@web186 root]#

    注:real远大于user加上sys,因为find需要遍历各个目录,需要大量的I/O操作,而磁盘I/O通常是最慢的环节,因此大部分时间find进程都在等待磁盘I/O完成。

    [root@web186 root]# time find . -name "mysql.sh" 
    ./work186/sms/bin/mysql.sh
    ./work186/sms/src/scripts/mysql.sh
    ./work186/sms/src/scripts1/mysql.sh
    ./work186/sms1/bin/mysql.sh
    ./work186/sms1/src/scripts/mysql.sh
    ./temp/sms/bin/mysql.sh
    ./temp/sms/src/scripts/mysql.sh

    real    0m0.230s
    user    0m0.040s
    sys     0m0.030s

    注:再次运行的时候,发现real time变得很小了,应该是操作系统将刚才操作过的一些文件缓存了的缘故,因而大大减少了磁盘I/O。 

      * Real 是时钟时间,程序从开始至结束的总时间。他包括期间其他进程所占用的时间片和进程被阻塞的时间(如IO等待的时间)
       * User 被测试程序在用户模式下所花的CPU时间。他是进程执行的正真的CPU时间。其他进程调度的时间片以及阻塞(如IO)的时间不包含在内。
       * Sys 是进程在内核中所花费的CPU时间。他表示进程在内核调用中所花的CPU时间,而程序的库调用仍然运行在用户空间下。
         User+Sys表示程序所执行的CPU时间(不包括IO以及其他进程的CPU时间).

  • 相关阅读:
    Vijos P1448 校门外的树【多解,线段树,树状数组,括号序列法+暴力优化】
    Vijos P1785 同学排序【模拟】
    Vijos P1784 数字统计【模拟】
    Vijos P1497 立体图【模拟】
    将你的wordpress博客添加到百度个性首页
    改变wordpress图片上传后的压缩质量
    优化dedecms设置文章url自定义规则
    dedecms首页调用随机文章全自动时时更新
    怎样在wordpress后台显示日志 ID
    sql批量修改wordpress文章发布时间
  • 原文地址:https://www.cnblogs.com/itfat/p/14246941.html
Copyright © 2011-2022 走看看