牆上時鐘時間 ,用戶cpu時間 ,系統cpu時間


分類: LINUX

時鐘時間(牆上時鐘時間wall clock time):從進程從開始運行到結束,時鐘走過的時間,這其中包含了進程在阻塞和等待狀態的時間
用戶CPU時間:就是用戶的進程獲得了CPU資源以後,在CPU在用戶態執行的時間
系統CPU時間:用戶進程獲得了CPU資源以後,在CPU內核態的執行時間

   進程的三種狀態爲阻塞、就緒、運行。

   時鐘時間 = 阻塞時間 + 就緒時間 +運行時間
   運行時間=用戶CPU時間+系統CPU時間
   用戶CPU時間 = 運行狀態下用戶空間的時間
   系統CPU時間 =  運行狀態下系統空間的時間。


==================================================================================================================

轉自:http://www.01happy.com/linux-process-time/

在linux下進行編程時,可能會涉及度量進程的執行時間。linux下進程的時間值分三種:

時鐘時間(real time):指進程從開始執行到結束,實際執行的時間

用戶CPU時間(user CPU time):指進程中執行用戶指令所用的時間,也包括子進程。

系統CPU時間(system CPU time):指爲進程執行內核程序所經歷的時間,例如調用read和write內核方法時,消耗的時間就計入系統CPU時間。


在linux下,可以使用time命令來查看程序執行時這三種時間值的消耗。筆者寫了一個測試程序,來演示這一個過程:

1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
 
int main(void)
{
    int i;
    while (i <= 10E7) {
        i++;
    }
 
    return 1;
}

程序非常簡單了,就不說明了,編譯成二進制文件a.out,使用time命令執行,在筆者的電腦上輸入如下信息:

可以在執行程序的時候加上time :

$ time ./a.out

real 0m0.349s
user 0m0.340s
sys 0m0.004s

其中real表示時鐘時間,user表示用戶CPU時間,sys表示系統CPU時間。time命令也可以用於系統的命令,如time ls、time ps等等。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章