Linux使用time命令獲取命令執行時間

2021-05-25 07:34:24 字數 853 閱讀 6643

linux下time命令可以獲取到乙個程式的執行時間,包括程式的實際執行時間(real time),以及程式執行在使用者態的時間(user time)和核心態的時間(sys time)。

它的使用方法和前面講過的strace類似,在待執行的命令前加上time即可。

來看乙個例子程式test.c

#include

int main()

fclose(fp);

return 0; }

[leconte@localhost test]$ time ./test

real 0m0.020s

user 0m0.000s

sys 0m0.018s

結果表明,程式實際執行時間0.020s,使用者態執行時間接近0s,核心態執行時間0.018s。這是因為我們主要操作是使用檔案相關的系統呼叫,程式大部分時間工作在核心態。

需要注意的是,real並不等於user+sys的總和。real代表的是程式從開始到結束的全部時間,即使程式不佔cpu也統計時間。而user+sys是程式占用cpu的總時間,因此real總是大於或者等於user+sys的。

例如我在上述程式中加上sleep(1):

for(i=0;i<3;++i)

sleep(1);

fprintf(fp,"%d/n",i);

用time統計結果如下:

[leconte@localhost test]$ time ./test

real 0m3.025s

user 0m0.000s

sys 0m0.019s

由於執行了三次 sleep(1),real的時間比剛才多了3s,這3s內程式並沒有占用cpu,因此user+sys並沒有變化。

Linux命令詳解 time

命令 time 執行命令並計時 格式 time p command arguments.說明 執行命令列 command arguments.命令列執行結束時在標準輸出中列印執行該命令列的時間統計結果,其統計結果包含以下資料 1 實際時間 real time 從command命令列開始執行到執行終止...

每天回顧linux命令(time)

time命令 time命令用於統計給定命令或者程式執行所花的總時間。語法 time 引數 引數 需要進行統計的程式。沒有引數的時候統計自己。結果解釋 1 real時間是指從程式開始執行到結束的時間。這段時間包括其他程序占用的時間片 程序阻塞所耗費的時間。2 user時間是指程序在使用者模式中的cpu...

Linux 使用getopts命令獲取命令列引數

linux getopts命令用於獲取命令列中的引數 呼叫格式 getopts option string variable 引數說明 option string 選項名稱 variable 選項的值 選項之間使用冒號 分隔,也可以直接連線,表示選項後面有傳值。當getopts命令發現冒號後,會從命...