IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    time和/usr/bin/time

    nanxiao发表于 2017-03-11 02:57:55
    love 0

    当我在bash中敲入time命令时,运行的其实是bash内置的time命令:

    $ time
    
    real    0m0.000s
    user    0m0.000s
    sys     0m0.000s
    $ type time
    time is a shell keyword
    

    这个time命令有一个-p选项,表示以posix格式输出:

    $ time -p
    real 0.00
    user 0.00
    sys 0.00
    

    除此以外,还有一个time命令。不过我当前的机器并没有安装这个程序:

    $ which time
    which: no time in (/home/xiaonan/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/opt/cuda/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl)
    

    安装一下,对比bash内置的time命令:

    $ sudo pacman -S time
    $ type time
    time is a shell keyword
    $ which time
    /usr/bin/time
    

    单独运行“/usr/bin/time -p”,只会输出命令的帮助选项:

    $ /usr/bin/time -p
    Usage: /usr/bin/time [-apvV] [-f format] [-o file] [--append] [--verbose]
           [--portability] [--format=format] [--output=file] [--version]
           [--help] command [arg...]
    

    需要加上具体的需要度量时间的命令:

    $ /usr/bin/time -p echo
    
    real 0.00
    user 0.00
    sys 0.00
    

    此外也可以给出命令执行的详细信息:

    $ /usr/bin/time -v echo
    
        Command being timed: "echo"
        User time (seconds): 0.00
        System time (seconds): 0.00
        Percent of CPU this job got: 0%
        Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.00
        Average shared text size (kbytes): 0
        Average unshared data size (kbytes): 0
        Average stack size (kbytes): 0
        Average total size (kbytes): 0
        Maximum resident set size (kbytes): 1536
        Average resident set size (kbytes): 0
        Major (requiring I/O) page faults: 0
        Minor (reclaiming a frame) page faults: 70
        Voluntary context switches: 1
        Involuntary context switches: 1
        Swaps: 0
        File system inputs: 0
        File system outputs: 0
        Socket messages sent: 0
        Socket messages received: 0
        Signals delivered: 0
        Page size (bytes): 4096
        Exit status: 0
    

    参考资料:
    /usr/bin/time: not the command you think you know。



沪ICP备19023445号-2号
友情链接