• linux time-统计给定命令所花费的总时间


    推荐:更多linux 性能监测与优化 关注:linux命令大全

    time命令用于统计给定命令所花费的总时间。 

    语法

    time(参数)

    参数

    指令:指定需要运行的额指令及其参数。 

    实例

    当测试一个程序或比较不同算法时,执行时间是非常重要的,一个好的算法应该是用时最短的。所有类UNIX系统都包含time命令,使用这个命令可以统计时间消耗。例如: 

    [root@localhost ~]# time ls
    anaconda-ks.cfg  install.log  install.log.syslog  satools  text
    
    real    0m0.009s
    user    0m0.002s
    sys     0m0.007s
    

    输出的信息分别显示了该命令所花费的real时间、user时间和sys时间。 

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

    shell内建也有一个time命令,当运行time时候是调用的系统内建命令,应为系统内建的功能有限,所以需要时间其他功能需要使用time命令可执行二进制文件/usr/bin/time。 

    使用-o选项将执行时间写入到文件中: 

    /usr/bin/time -o outfile.txt ls
    

    使用-a选项追加信息: 

    /usr/bin/time -a -o outfile.txt ls
    

    使用-f选项格式化时间输出: 

    /usr/bin/time -f "time: %U" ls
    

    -f选项后的参数: 

    参数 描述 
    %E  real时间,显示格式为[小时:]分钟:秒 
    %U  user时间。 
    %S  sys时间。 
    %C  进行计时的命令名称和命令行参数。 
    %D  进程非共享数据区域,以KB为单位。 
    %x  命令退出状态。 
    %k  进程接收到的信号数量。 
    %w 进程被交换出主存的次数。 
    %Z  系统的页面大小,这是一个系统常量,不用系统中常量值也不同。 
    %P  进程所获取的CPU时间百分百,这个值等于user+system时间除以总共的运行时间。 
    %K  进程的平均总内存使用量(data+stack+text),单位是KB。 
    %w  进程主动进行上下文切换的次数,例如等待I/O操作完成。 
    %c  进程被迫进行上下文切换的次数(由于时间片到期)。 
  • 相关阅读:
    机器学习手稿--NumPy篇
    机器学习手稿--PyTorch篇
    算法相关库
    如何保存用户的登录状态
    Go开发新手需知:Printf、Sprintf、Println 的区别
    二、Bean生命周期中AOP的流程
    Spring 注解驱动开发-IOC (精华版)
    我是如何编写流程图程序的?
    微前端架构设计之 WebSocket API 断连后重连的设计方案
    工具-使用distinct方法去重对象List
  • 原文地址:https://www.cnblogs.com/mayou18/p/9546442.html
Copyright © 2020-2023  润新知