分類: LINUX
用戶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等等。