我执行time
许多命令(即nslookup
)SSH
,并收集完成隐含服务所需的总时间(即域名系统)。因此,我收集user
和sys
时间,因为real
当我的进程阻塞时,我不需要......我猜,时间会计算时间。
但我的一些测试结果如下:
real 3m22.033s
user 0m0.009s
sys 0m0.014s
我在资源有限的 Linux 机器上执行这些测试,但real
时间仍然非常长。这是否仅表明该盒子非常忙于运行不同的进程?将user
和时间相加来sys
了解服务花费了多少时间是否仍然正确?
答案1
真实的是进程终止所花费的总时间(即启动时间和停止时间之间的差值):
$ time sleep 3
real 0m3.002s
user 0m0.000s
sys 0m0.000s
在这份清单中,用户和系统分别指用户态和内核态所花费的时间。这些不包括不活动时所花费的时间睡眠状态。当一个进程故意请求它时,或者当它等待 IO(网络/磁盘访问/用户交互)可用时,或者当系统负载非常高时缺乏可用的 CPU 时,等待其他进程终止,进程就会进入睡眠状态, ETC。
通常,如果您time
致电wget
,真实的将对应于下载所需的时间,用户应该可以忽略不计(除非wget
被要求执行密集的数据处理),系统应该很小(可能需要花费一些时间来处理缓冲区,将数据从内核空间来回移动到用户空间。)