Linux使用time命令獲取命令執行時間
From:
下time命令可以獲取到一個程式的執行時間,包括程式的實際執行時間(real time),以及程式執行在使用者態的時間(user time)和核心態的時間(sys time)。
它的使用方法和前面講過的strace類似,在待執行的命令前加上time即可。
來看一個例子程式test.c
#include
int main()
{
FILE *fp = fopen("/tmp/testfile","w");
int i=0;
for(i=0;i<3;++i)
{
fprintf(fp,"%d\n",i);
}
fclose(fp);
return 0;
}
編譯後用time命令來統計它的執行時間:
[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並沒有變化
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/27042095/viewspace-1093678/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux命令執行時間測試Linux
- 如何用GNU time查詢Linux命令或程式的執行時間Linux
- 如何測試Linux命令執行時間?Linux
- Undistract-me:當長時間執行的終端命令完成時獲取通知
- Linux下使用timedatectl命令時間時區操作詳解Linux
- 獲取系統時間的DOS命令
- Linux基礎命令---間歇執行命令watchLinux
- Linux使用 date 命令獲取當前日期前一天的時間Linux
- Linux設定歷史命令顯示執行時間Linux
- solaries使用date獲取前一天日期,使用perl命令獲取歷史時間方法
- 獲取多臺主機命令執行結果
- Linux時間的獲取與使用Linux
- Linux 定時執行指令碼、命令Linux指令碼
- Linux記錄命令執行的使用者IP地址和時間等資訊Linux
- [linux] 使用Screen後臺執行命令Linux
- 收集 Linux 命令列執行的命令Linux命令列
- 獲取Linux本機IP命令Linux
- 獲取 Laravel 執行時間和記憶體消耗Laravel記憶體
- linux shell獲取時間(2)Linux
- Node.js 執行 shell 命令 主程式獲取返回值Node.js
- 通過 $? 獲取上一條命令執行後返回的值
- Linux timeout命令Linux
- Runtime.exec執行dos命令不正確
- linux獲取最新檔案時間以及sshpass使用Linux
- Linux 後臺執行命令Linux
- linux命令後臺執行Linux
- 傳播小知識:timeout限制時間命令
- Java多執行緒——獲取多個執行緒任務執行完的時間Java執行緒
- 【機器學習】使用Octave執行命令機器學習
- Linux命令:atime,mtime,ctimeLinux
- 使用nohup命令讓linux程式後臺執行Linux
- sudo以其他使用者身份身份執行命令-linux命令學習Linux
- 獲取IP地址命令
- Java在Linux環境下執行MySQL命令無法獲取結果的問題JavaLinuxMySql
- 設定Linux關機時自動執行指定命令Linux
- linux之crontab定時執行命令走過的坑坑Linux
- linux time 命令詳解Linux
- 如何在Linux終端同時執行多個Linux命令Linux