linux命令 time
功能:用于计算命令执行的世界
语法: time command
例如:
hbg@root:~/dl$ time ls
111 apple.sh b.txt duplicate_samples fork_test3 getoopt.c log.sh printf.sh read_s.sh silent_grep.sh txt.patch
111.sh array.sh cecho.sh filestat.sh fork_test3.c hex.txt makemore.sh read1.sh read_time.sh sleep.sh version1.txt
222.sh a.txt checkword.sh fork_test fork_test4 interactive.sh netsharing.sh read_line.sh remove_dup.sh test version1.txt.orig
aaa base.sh c.txt fork_test2 fork_test4.c isroot.sh out.html read_n.sh rename.sh test.sh version2.txt
add.sh bc.sh duplicate_files fork_test2.c fork_test.c junk.data ping.sh read.sh rmmore.sh test.txt version.patch
real 0m0.003s
user 0m0.000s
sys 0m0.000s
hbg@root:~/dl$
工作原理:
1)real 时间:指的是挂钟时间(wall clock time),也就是命令从开始执行到结束的时间。这段时间包括其他进程所占用的时间片(time slice)以及进程被阻塞时所花费的时间。
2)user 时间:指的是进程花费在用户模式(内核之外)中的cpu时间。唯一真正用于执行进程所花费的时间。执行其他进程及被阻塞的时间并没有计算在内。
3)sys 时间:指的是花费在内核中的cpu时间。
所跟参数:
参数 描述
%C 进行计时的命令名称以及命令行参数
%D 进程非共享数据区域的大小,以KB为单位
%E 进程使用的real时间,显示格式为[小时:]分钟:秒
%x 命令的退出状态
%k 进程接收到的信号数量
%W 进程被交换出主存的次数
%Z 系统的页面大小,这是一个系统常量,但在不同的系统中共,这个常量也不同
%P 进程所获得cpu时间百分比。这个值等于user+system时间除以总运行时间,结果以百分比显示。
%w 进程主动进行上下文切换的次数,例如等待I/O操作完成
%c 进程背叛进行上下文切换的次数,例如时间片到。