转载:Unix环境中Real time, User time and Sys time
来源:互联网 发布:大数据与信息安全 编辑:程序博客网 时间:2024/06/11 13:13
转载:http://www.linuxidc.com/Linux/2012-02/55115.htm
《APUE》上提到了三个时间Real time, User time和Sys time。这三者是什么关系呢?在使用time(1)命令的时候,为什么real time < user time + sys time?(由于笔者的虚拟机为单核,显示的结果不会出现此种情况。附网上看到的一种结果如下:
$ time foo
real 0m0.003s
user 0m0.000s
sys 0m0.004s
$
Real指的是实际经过的时间,User和Sys指的是该进程使用的CPU时间。
1. Real是墙上时间(wall clock time),也就是进程从开始到结束所用的实际时间。这个时间包括其他进程使用的时间片和进程阻塞的时间(比如等待I/O完成)。
2. User指进程执行用户态代码(核心之外)所使用的时间。这是执行此进程所消耗的实际CPU时间,其他进程和此进程阻塞的时间并不包括在内。
3. Sys指进程在内核态消耗的CPU时间,即在内核执行系统调用所使用的CPU时间。
那么,为什么进程开始到结束所经过的时间会比进程所消耗的用户时间和系统时间(user time + sys time)小呢?
User+Sys为进程所使用的实际CPU时间。注意,如果有多个线程,User+Sys的时间有可能大于Real时间。同时,User和Sys时间包括子进程所使用的时间。
time命令的输出数据是由几个不同的系统调用得来的。User time和Sys time从wait(2)或times(2)系统调用(依赖不同的系统)得来。Real time是由gettimeofday(2)中结束时间和起始时间相减得到。不同的操作系统还可能有其他的信息,比如time可以记录上下文切换的次数。
在多处理器的系统上,一个进程如果有多个线程或者有多个子进程可能导致Real time比CPU time(User + Sys time)要小,这是因为不同的线程或进程可以并行执行。
- UNIX环境中Real time, User time and Sys time
- UNIX环境中Real time, User time and Sys time
- UNIX环境中Real time, User time and Sys time
- UNIX环境中Real time, User time and Sys time
- 转载:Unix环境中Real time, User time and Sys time
- real time,user time,sys time
- Linux系统-real/user/sys time
- 理解linux time命令的输出(What do ‘real’, ‘user’ and ‘sys’ mean?)
- 理解linux time命令的输出(What do ‘real’, ‘user’ and ‘sys’ mean?)
- time命令中的real,user以及sys时间
- Linux time命令输出的user、sys、real
- ubuntu-基本命令篇-15-系统管理-time命令中Real,User,Sys概念
- Clock time, User CPU time and System CPU time in UNIX?
- (转载)浅谈Real-Time Linux
- Real-time
- C语言计算时间函数 & 理解linux time命令的输出中“real”“user”“sys”的真正含义
- time sys
- Difference between Unix Time and UTC time
- could not get wglGetExtensionsStringARB
- ubuntu更新软件源列表
- 共变导数(Covariant Derivative)
- 排序之简单选择排序(Simple Selection Sort)
- Linux学习笔记:DNS
- 转载:Unix环境中Real time, User time and Sys time
- WPF 的另类资源方式 Resources.resx
- 在iOS中判断系统是24小时时间制还是12小时时间制方法
- Linux系统启动之——u-boot启动
- solr整合IKAnalyzer后动态添加词汇不需要重启解决方案
- CodeSmith 学习积累
- JavaScript总结
- MVC模式(model2模式)实例--向数据库添加书目信息
- Ubuntu13.10下SDKmanager的更新