linux time命令參數及用法詳解--linux測試命令執行時間命令

來源:互聯網
上載者:User

標籤:

【命令】time — 執行命令並計時

【格式】time [-p] command [arguments...]

【說明】

執行命令列"command [arguments...]",命令列執行結束時在標準輸出中列印執行該命令列的時間統計結果,其統計結果包含以下資料:

1)實際時間(real time): 從command命令列開始執行到運行終止的消逝時間;

2)使用者CPU時間(user CPU time): 命令執行完成花費的使用者CPU時間,即命令在使用者態中執行時間總和;

3)系統CPU時間(system CPU time): 命令執行完成花費的系統CPU時間,即命令在核心態中執行時間總和。

其中,使用者CPU時間和系統CPU時間之和為CPU時間,即命令佔用CPU執行的時間總和。實際時間要大於CPU時間,因為Linux是多任務作業系統,往往在執行一條命令時,系統還要處理其它任務。

另一個需要注意的問題是即使每次執行相同命令,但所花費的時間也是不一樣,其花費時間是與系統運行相關的。

例1:

            1. # time date
            2. Sun Mar 26 22:45:34 GMT-8 2006
            3.
            4. real    0m0.136s
            5. user    0m0.010s
            6. sys     0m0.070s
            7. #


在例1中,執行命令"time date"(見第1行)。系統先執行命令"date",第2行為命令"date"的執行結果。第3-6行為執行命令"date"的時間統計結果,其中第4行"real"為實際時間,第5行"user"為使用者CPU時間,第6行"sys"為系統CPU時間。以上三種時間的顯示格式均為MMmNN[.FFF]s。

在例1中,CPU時間 = 使用者CPU時間 + 系統CPU時間 = 0m0.010s + 0m0.070s = 0m0.080s,實際時間大於CPU時間,說明在date命令啟動並執行同時,還有其它任務在運行。

【參數說明】

-p 以POSIX預設的時間格式列印時間統計結果,單位為秒。詳細的輸出格式見例2。

例2:

            1. # time -p date
            2. Wed Mar 27 00:33:11 GMT-8 2006
            3. real 0.11
            4. user 0.00
            5. sys 0.02
            6. #

在例2中,同樣執行命令"time date"(見第1行)。系統先執行命令 "date",第2行為該命令的執行結果。第3-5行為執行命令"date"的時間統計結果。注意本例的時間格式與例1中的時間格式差別,使用-p 參數後的時間顯示格式為NN.FF,其單位為秒。

【相關環境變數說明】

TIMEFORMAT 自訂輸出的時間格式。

我們也可以通過環境變數TIMEFORMAT來自訂輸出的時間格式[1]。格式中使用和標準C中的函數printf一致的轉義符,以及使用以下的逸出序列來指定輸出的時間格式:

 %[prec][l][RUS]
其中,選項prec為指定時間精度,即小數點後面的位元;選項l表示使用分秒(具體格式為:MMmNN[.FFF]s)的格式;最後一個字元表示時間的類型,其中R表示實際時間,U表示使用者CPU時間,S表示系統CPU 時間,它們的單位均為秒。

time命令預設輸出的時間格式同 TIMEFORMAT=$‘nrealt%3lRnusert%3lUnsyst%3lS‘。

使用-p參數的time命令輸出的時間格式同 TIMEFORMAT=$‘real %2Rnuser %2Unsys %2S‘。

例3:

            1. # export TIMEFORMAT=$‘real %2Rnuser %2Unsys %2S‘
            2. # time date
            3. Wed Mar 27 00:52:03 GMT-8 2006
            4. real 0.04
            5. user 0.00
            6. sys 0.01
            7. #

比較例2和例3顯示結果,很容易發現例3雖然沒有使用參數-p,但其輸出的結果和例2一模一樣。

當然,我們也可以修改為任何自己喜歡的時間格式。

例4:

            1. # export TIMEFORMAT=$‘nHello, ThinkerABC!nreal time :       %lRnuser CUP time :   %lUnsystem CPU time : %lS‘
            2. # time date
            3. Wed Mar 27 01:09:26 GMT-8 2006
            4.
            5. Hello, ThinkerABC!
            6. real time :       0m0.016s
            7. user CUP time :   0m0.006s
            8. system CPU time : 0m0.008s
            9. #

例4的第4-8行正是我們自訂的輸出格式。

從以上介紹了三種指定時間格式的方法,即預設的時間格式、使用參數-p的POSIX預設的時間格式和設定環境變數TIMEFORMAT自訂的時間格式,Linux系統使用的先後順序如下:

1.參數-p的POSIX預設時間格式;

2.環境變數TIMEFORMAT自訂的時間格式;

3.預設的時間格式。

【退出狀態說明】

如果能執行command命令,則返回該命令的退出狀態,否則返回如下的退出狀態值:

127 命令未找到

126 命令找到,但不能執行

1-125 其它錯誤 

linux time命令參數及用法詳解--linux測試命令執行時間命令

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.