Linux命令之乐--time

时间:2023-03-10 02:07:27
Linux命令之乐--time

time用于统计命令执行花费的总时间

例一:

[root@Director usr]# time ls
bin etc games include java lib lib64 libexec local sbin share src tmp real 0m0.004s
user 0m0.001s
sys 0m0.002s
  • real时间是指挂钟时间,也就是命令开始执行到结束的时间。这个短时间包括其他进程所占用的时间片,和进程被阻塞时所花费的时间。
  • user时间是指进程花费在用户模式中的CPU时间,这是唯一真正用于执行进程所花费的时间,其他进程和花费阻塞状态中的时间没有计算在内。
  • sys时间是指花费在内核模式中的CPU时间,代表在内核中执系统调用所花费的时间,这也是真正由进程使用的CPU时间。

例二,比较不同算法所花费的时间差异

root@Director test]# time for i in `seq `;do count=${#i};done

real    0m0.036s
user 0m0.024s
sys 0m0.021s
[root@Director test]# time for i in `seq `;do count=`echo $i|wc -m`;done real 0m5.985s
user 0m1.618s
sys 0m5.729s [root@Director test]# time for i in `seq `;do count=`expr length $i`;done real 0m3.938s
user 0m1.163s
sys 0m3.225s

从中可以看出采用${#var}这种算法最优

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

来自: http://man.linuxde.net/time