time命令结果有三行组成:real、user和sys。real值表示从程序开始到程序执行结束时所消耗的时间,包括CPU的用时。CPU用时被划分为user和sys两块。user值表示程序本身,以及它所调用的库中的子例程使用的时间。sys是由程序直接或间接调用的系统调用 执行的时间。
在单处理器上,real值和整个CPU用时之差,也就是real - ( user + sys )是所有延迟程序执行的因素的总和。在SMP上,这个值近似为real * number_of_processors - ( user + sys )。这些因素包括:
- 调入程序文本和数据的IO操作
- 获取程序实际使用内存的IO操作
- 由其它程序消耗的CPU用时
- 由操作系统消耗的CPU用时
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

本文详细解析了time命令的输出结果,包括real、user和sys三个指标的含义及其计算方式。阐述了在单处理器和SMP环境下,如何通过这些值来评估程序的运行效率,并解释了real-(user+sys)的具体含义。

被折叠的 条评论
为什么被折叠?



