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命令發現冒號後,會從命...