IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當前所在位置:首頁操作系統(tǒng)LINUX → 使用time命令獲取命令執(zhí)行時間

使用time命令獲取命令執(zhí)行時間

時間:2015/6/28來源:IT貓撲網(wǎng)作者:網(wǎng)管聯(lián)盟我要評論(0)

  Linux下time命令可以獲取到一個程序的執(zhí)行時間,包括程序的實際運行時間(real time),以及程序運行在用戶態(tài)的時間(user time)和內(nèi)核態(tài)的時間(sys time)。

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

  來看一個例子程序test.c

  #include <stdio.h>

  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命令來統(tǒng)計它的執(zhí)行時間:

  [leconte@localhost test]$ time ./test

  real    0m0.020s

  user    0m0.000s

  sys     0m0.018s

  結(jié)果表明,程序?qū)嶋H運行時間0.020s,用戶態(tài)運行時間接近0s,內(nèi)核態(tài)運行時間0.018s。這是因為我們主要操作是使用文件相關(guān)的系統(tǒng)調(diào)用,程序大部分時間工作在內(nèi)核態(tài)。

  需要注意的是,real并不等于user+sys的總和。real代表的是程序從開始到結(jié)束的全部時間,即使程序不占CPU也統(tǒng)計時間。而user+sys是程序占用CPU的總時間,因此real總是大于或者等于user+sys的。

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

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

  {

  sleep(1);

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

  }

  用time統(tǒng)計結(jié)果如下:

  [leconte@localhost test]$ time ./test

  real    0m3.025s

  user    0m0.000s

  sys     0m0.019s

  由于執(zhí)行了三次 sleep(1),real的時間比剛才多了3s,這3s內(nèi)程序并沒有占用CPU,因此user+sys并沒有變化。

關(guān)鍵詞標簽:time命令

相關(guān)閱讀

文章評論
發(fā)表評論

熱門文章 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程使用screen管理你的遠程會話使用screen管理你的遠程會話GNU/Linux安裝vmwareGNU/Linux安裝vmware如何登錄linux vps圖形界面 Linux遠程桌面連如何登錄linux vps圖形界面 Linux遠程桌面連

相關(guān)下載

人氣排行 Linux下獲取CPUID、硬盤序列號與MAC地址linux tc實現(xiàn)ip流量限制dmidecode命令查看內(nèi)存型號linux下解壓rar文件安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程Ubuntu linux 關(guān)機、重啟、注銷 命令lcx.exe、nc.exe、sc.exe入侵中的使用方法查看linux服務器硬盤IO讀寫負載