執行任何指令或是 Shell Script ,檢視效率其中一種指標是執行時間。在 Linux 環境中可以透過 time 來計算指令的執行時間,此指令已經內建在主要的 Linux 發行版中無須另外安裝。
要使用的方式也很簡單,在要執行的指令前加上 time ,舉例如下。
time sh ./test.sh
輸出結果如下
[root@test ~]$ time sh ./test.sh
real 0m0.193s
user 0m0.076s
sys 0m0.115s
Real
開始執行到執行完成的時間,包含 user 及 sys 和任何堵塞的時間。
User
執行指令用戶代碼所耗費的 CPU 時間。
Sys
執行指令內核運行時間。
誤區介紹
- 誤區一
real = user +sys- 不一定是正確的,原因在於 user time + sys time 不包含堵塞的時間,像是執行需要等待回應的指令,例如: ping。
- 誤區二
real > user +sys 或是 real < user +sys- 要根據CPU的型態單核或是多核的,多核CPU可以在同一時間內執行多個程序計算起來就會變成 real < user +sys 。
- 誤區三
重複執行時間不同。- 重複執行時系統某些檔案是直接從快取內回應,時間上就會有所差異。