[20210410]關於time命令的解析.txt
[20210410]關於time命令的解析.txt
--//在 Linux 下,可以透過 time 命令,很容易獲取程式的執行時間:
$ time echo 2^1000000 | bc > /dev/null
real 0m4.117s
user 0m4.105s
sys 0m0.004s
--//可以看到,real = user+sys,非常接近。
$ time sleep 4
real 0m4.002s
user 0m0.000s
sys 0m0.002s
--//先來解釋下這三個引數的含義:
--//real:表示的鐘表時間,也就是從程式執行到結束花費的時間;
--//user:表示執行期間,cpu 在使用者空間所消耗的時間;
--//sys:表示執行期間,cpu 在核心空間所消耗的時間;
--//對於執行sleep 4,基本不消耗CPU時間。這樣兩者差別就很大。而前者基本屬於CPU的密集運算。real就非常接近user+sys。
--//會遇到 real 遠遠小於 user + sys 的場景嗎?實際上平行計算就可能出現這樣的情況。例子如下:
$ time seq 3 | xargs -IQ -P 3 bash -c "echo 2^1000000 | bc > /dev/null "
real 0m4.655s
user 0m12.978s
sys 0m0.018s
--//在我的測試環境echo 2^1000000 | bc > /dev/null大約需要4秒多一點,如果有新裝置,我經常使用這樣簡單的方式測試CPU計算性
--//能。而現在開啟3個並行,你可以發現real 需要4.X秒。而user需要12.XXX秒完成。這樣就出現 read遠遠小於user+sys的情況。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2767491/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [20190401]關於semtimedop函式呼叫.txt函式
- [20141219]關於sqlnet.expire_time.txtSQL
- [20190402]關於semtimedop函式呼叫2.txt函式
- [20230317]關於TIME_WAIT問題.txtAI
- [20200416]關於軟軟解析的問題.txt
- 關於ftp的命令FTP
- [20121121]關於linux下history命令.txtLinux
- [20151021]關於sqlnet.expire_time2.txtSQL
- 關於golang的time包總結Golang
- 關於TS流的解析
- 關於oracle的Spool命令Oracle
- 關於xml解析XML
- 關於Corba呼叫的Timeout 問題ORB
- [20211013]19C 關於LAST SUCCESSFUL LOGIN TIME.txtAST
- 關於迅雷的碎片化解析
- iOS 關於NSTimer的迴圈引用iOS
- 關於DBA_OBJECTS的LAST_DDL_TIMEObjectAST
- 關於地址反向解析
- 關於trace檔案中的recursive calls , elapse time及cpu time,
- [20171206]關於一些linux命令使用注意.txtLinux
- [20200220]關於SQLNET.EXPIRE_TIME and ENABLE=BROKEN的總結.txtSQL
- 關於timestamp資料型別資料型別
- 關於JS中事件代理的解析JS事件
- 關於Gson解析的使用匯總
- 關於Oracle Timezone的一點總結Oracle
- MySQL關於timestamp和mysqldump的一個“bug”MySql
- 關於oracle的一些命令Oracle
- 關於NetBackup的基本命令
- 關於 二維碼 解析
- 關於轉儲Oracle索引資訊的相關命令Oracle索引
- 關於安全策略的幾點解析
- Linux命令:atime,mtime,ctimeLinux
- 譯| 關於 Unix 命令 `yes` 的小故事
- CentOS8關於防火牆的命令CentOS防火牆
- 關於pfile,spfile的一些命令
- 關於solairs10的find命令使用AI
- [20171231]iostat -x命令診斷解析.txtiOS
- iOS RunTime解析iOS