用户CPU时间, 系统CPU时间,CPU时间,Wall time, Process time和Monotonic time.

Monotonic time,也就是系统从boot后到当前的时间。
这是由变量jiffies来记录的。系统每次启动时jiffies初始化为0,每来一个timer interrupt,jiffies加1,也就是说它代表系统启动后流逝的tick数。
jiffies一定是单调递增的

进程时间(CPU时间):  滴答计数 保存在数据结构clock_t中,sysconf可以得到每秒的滴答数值设定值
用户CPU时间:执行用户指令所用的时间  就是用户的进程获得了CPU资源以后,在用户态执行的时间。
系统CPU时间:为该进程执行内核程序所经历的时间  用户进程获得了CPU资源以后,在内核态的执行时间。

墙上时钟时间(wall time):进程运行的时间总量,其值与系统中同时运行的进程数有关  从进程从开始运行到结束,时钟走过的时间,这其中包含了进程在阻塞和等待状态的时间。
这是由变量xtime来记录的。系统每次启动时将CMOS上的RTC时间读入xtime,
这个值是"自1970-01-01起经历的秒数、本秒中经历的纳秒数",每来一个timer interrupt,也需要去更新xtime。
wall time不一定是单调递增的。


进程的三种状态为阻塞、就绪、运行。和上述时间的关系是:

时钟时间 = 处于阻塞状态时间 + 处于就绪状态时间 +处于运行状态时间
用户CPU时间 = 运行状态下用户空间的时间
系统CPU时间 =  运行状态下系统空间的时间。
用户CPU时间+系统CPU时间=运行时间,也就是进程时间(CPU时间)。


你可能感兴趣的:(linux)