精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

在Linux上,使用time優雅的統計程序運行時間

系統 Linux
最近在使用 time 命令時,無意間發現了一些隱藏的小秘密和強大功能,今天分享給大家。

最近在使用 time 命令時,無意間發現了一些隱藏的小秘密和強大功能,今天分享給大家。

time 在 Linux 下是比較常用的命令,可以幫助我們方便的計算程序的運行時間,對比采用不同方案時程序的運行性能。看似簡單的命令,其實蘊藏著很多細節和技巧,來跟著肖邦一起學習吧。

1 基礎用法詳解

先來看下最基礎的用法,也可能是大家最常見的用法了 

  1. root@chopin:~$ time find . -name "chopin.txt"  
  2. ......  
  3. real   0m0.174s  
  4. user   0m0.084s  
  5. sys    0m0.084s 

可以很清楚看到,find 命令執行的時間為 0.174s,是不是很簡單,很方便呢

不過,time 命令輸出了三個參數,我們只用到了第一個參數,其它兩個參數代表什么含義呢?

這里我來解釋一下:

  •  real:表示的是墻上時間,說白了,其實就是從程序運行開始到結束所經歷的時間;
  •  user:表示程序運行期間,cpu 在用戶態所花費的時間;
  •  sys:表示程序運行期間,cpu 在內核態所花費的時間;

細心的讀者會發現,上述案例中的 user + sys 不等于 real,這是怎么回事呢?

其實上邊解釋的 user 和 sys,是 cpu 執行指令所消耗的時間,并不包含:進程阻塞 IO、調度排隊,這些非 cpu 運行時間。

案例中 find 執行查找文件過程中,會有磁盤 IO 讀取,這時 cpu 會被釋放出來干別的事情,這些 IO 消耗的時間,是不包含在 user 和 sys 統計數據中,所以就出現了 real 時間大于 user + sys 了。

再通過一個示例來驗證并加強我們的理解 

  1. root@chopin:~$ time sleep 2  
  2. real   0m2.001s  
  3. user   0m0.000s  
  4. sys    0m0.000s 

可以清楚地看到,sleep 命令基本上沒有消耗 cpu,程序真實的運行時間就是 2 秒

那我們是不是可以得出如下結論了呢:

real >= user + sys

其實這個結論在單個 cpu 情況下,是正確的。

如果服務器是多個 cpu,你的程序正好可以將多個 cpu 充分利用起來,程序運行期間是多核心并行的,那么 user + sys 統計的 cpu 時間可能就會大于 real 時間啦

所以這 3 個時間之間的關系并不是恒定的,你需要清楚的了解服務器是否為多個核心。

通過統計到的 cpu 消耗時間,我們也可以大概知道,程序運行期間 cpu 利用情況。對于單核,計算密集型的程序,real 會很接近 user 和 sys 時間之和的。

 Tips:有些同學可能對操作系統可能不太熟悉,這里簡單科普下內核態和用戶態的基本概念

Linux 為使系統更穩定,采取了隔離保護的措施,運行狀態分為內核態和用戶態:

  •  用戶態:用戶代碼不具備直接訪問底層資源的能力,需要借助內核提供的系統調用 API。在這種隔離保護下,即使用戶程序崩潰,也不會影響整個系統的功能。
  •  內核態:內核代碼具備最大權限,可執行任意 cpu 指令,不受任何限制。內核態通常是操作系統提供的最底層、最可靠的代碼運行的,內核態的代碼崩潰是災難性的,影響整個系統的正常運行。

2 你運行的可能是假time

time 還有其它功能嗎?看一下幫助文檔吧 

  1. root@chopin:~$ time --help  
  2. --help: command not found  
  3. real 0m0.129s 
  4. user 0m0.084s  
  5. sys 0m0.036s 

竟然報錯,將 --help 當成了命令來執行了,難道 time 就這么點能耐嗎?

好吧,我也不賣關子了,直接說答案:你運行的可能是假time。你可能有點懵逼,怎么就假的了。

其實在 Linux 系統上,使用 time 時,你可能會遇到三種版本: 

  1. # 1. Bash  
  2. time is a shell keyword  
  3. # 2. Zsh  
  4. time is a reserved word  
  5. # 3. GNU time  
  6. time is /usr/bin/time 

我們當前 Shell 是 Bash,可以通過 type 命令 

  1. root@chopin:~$ type time  
  2. time is a shell keyword 

可以看到,我們剛才執行的 time 是 Shell 的內置命令,如果你用的是 zsh,默認使用的 time 也是對應內置命令。

GNU time 命令路徑是 /usr/bin/time,一般的 Linux 發行版都帶有這個命令,它才是我們今天的豬腳。

3 更強大的功能

GNU time 命令提供了更強大的功能:

  •  更詳細的統計信息
  •  更豐富的格式輸出
  •  支持保存統計數據到文件

下邊我們來學習寫 GNU time 的使用

1. 最簡單的用法 

  1. root@chopin:~$ /usr/bin/time sleep 2  
  2. 0.00user 0.00system 0:02.00elapsed 0%CPU (0avgtext+0avgdata 1784maxresident)k  
  3. 0inputs+0outputs (0major+72minor)pagefaults 0swaps 

使用 GNU time 命令,直接使用絕對路徑即可,我們可以看到輸出信息更多了,不過格式有點丑,后邊會講如何自定義格式。

2. 保持內置 time 的輸出樣式

有同學會問,能輸出內置 Shell 那種的格式么?可以的,使用 -p 選項即可 

  1. root@chopin:~$ /usr/bin/time -p sleep 2  
  2. real 2.00  
  3. user 0.00  
  4. sys  0.00 

3. 輸出更詳細的信息

還可以輸出更加詳細的信息,讓你對程序運行信息一目了然。請使用 -v 選項 

  1. root@chopin:~$ /usr/bin/time -v sleep 2  
  2. Command being timed: "sleep 2"  
  3. User time (seconds): 0.00  
  4. System time (seconds): 0.00  
  5. Percent of CPU this job got: 0%  
  6. Elapsed (wall clock) time (h:mm:ss or m:ss): 0:02.00  
  7. Average shared text size (kbytes): 0  
  8. Average unshared data size (kbytes): 0  
  9. Average stack size (kbytes): 0  
  10. Average total size (kbytes): 0  
  11. Maximum resident set size (kbytes): 1804  
  12. Average resident set size (kbytes): 0 
  13. Major (requiring I/O) page faults: 0  
  14. Minor (reclaiming a frame) page faults: 71  
  15. Voluntary context switches: 1  
  16. Involuntary context switches: 1  
  17. Swaps: 0  
  18. File system inputs: 0  
  19. File system outputs: 0  
  20. Socket messages sent: 0 
  21. Socket messages received: 0  
  22. Signals delivered: 0  
  23. Page size (bytes): 4096  
  24. Exit status: 0 

這里詳細介紹下 time 命令輸出各項指標

(一)時間相關

(二)內存相關

(三)IO 相關

4. 統計信息輸出到文件

如果你希望將 time 統計的信息輸出到文件,可以使用 -o 選項

  1. root@chopin:~$ /usr/bin/time -v -o a.txt sleep 2 

統計信息直接保存到了 a.txt,如果你希望統計信息能夠追加到文件,可以額外加 -a 選項

5. 自定義格式輸出

如果命令中內置的輸出格式,不符合你的需求,GNU time 可以支持自定義輸出格式,通過選項 -f 可以各種指標參數 

  1. /usr/bin/time -f "real %e\nuser %U\nsys %S\n" sleep 1  
  2. real 1.00  
  3. user 0.00  
  4. sys  0.00 

具體支持的格式,貼心的肖邦已經幫你整理好了

這些格式參數太多了,平時大部分情況用不到,可以收藏起來,以便后期使用時可以快速參考。

4 在性能分析中的作用

看到這么多系統參數指標,難免會有同學會感到疑惑,這些參數能干什么呀?

其實這些指標,對應到操作系統 cpu、內存、IO 這幾方面。深刻的理解了這些指標參數,可以幫助你從本質上把握程序的運行情況,甚至可以協助你分析程序的性能瓶頸。

下邊我簡單解釋幾個概念,希望能起到拋磚引玉的作用。

(一)CPU 時間

cpu 時間包括:real、user、sys,當 user + sys >= real 時,說明該程序是計算密集型;當 user + sys 遠小于 real 時,說明存在較多的 IO 等待。

(二)上下文切換

平時所說的上下文,是指進程的運行環境,包括當時的寄存器值、內存堆棧等信息,內核可以根據上下文完全恢復一個被打斷的進程任務。

當執行系統調用、進程切換時,都會產生上下文切換。切換上下文時,操作系統需要為進程保存和恢復上下文信息。

上下文切換分為主動和被動兩種,主動上下文切換多,說明存在較多的阻塞調用;被動上下文切換說明 cpu 使用率高。

當上下文切換過多時,意味著較多的 cpu 時間花費在上下文切換上,導致 cpu 處理進程任務的有效時間大大減少。

(三)缺頁異常

次缺頁異常較多,說明程序的內存布局相對合理,命中率高;當主缺頁異常較多時,說明程序對內存的訪問跳躍性大,命中率低。

處理缺頁異常和切換上下文的時間,不包含在 user 和 sys 中,當發現 user + sys 遠小于 real 時,則很可能大部分時間都消耗在這些地方,需要重點分析這兩點。 

 

責任編輯:龐桂玉 來源: 良許Linux
相關推薦

2021-08-11 11:02:17

Linuxtime命令

2021-05-10 07:30:07

Linux統計程序

2018-04-08 14:27:45

Linuxuptime系統運行時間

2020-04-06 11:47:44

Linux命令腳本

2021-06-24 10:28:19

uptimed命令Linux

2010-01-27 14:14:48

C++程序運行時間

2019-10-14 09:14:37

Linuxbash命令

2016-08-23 10:17:42

2022-11-04 09:09:54

Linux服務器

2021-08-18 08:32:09

代碼運行時間示波器

2019-01-15 14:00:59

Linux服務器命令

2020-05-29 19:00:10

LinuxMySQLMariaDB

2022-01-19 08:50:53

設備樹Linux文件系統

2015-07-20 15:44:46

Swift框架MJExtension反射

2011-08-19 15:05:29

異常處理

2023-02-12 12:00:57

2021-09-18 08:02:49

Go程序工具

2017-01-19 20:28:44

2021-03-15 08:33:01

CC++動態庫

2024-03-21 09:15:58

JS運行的JavaScrip
點贊
收藏

51CTO技術棧公眾號

日日骚欧美日韩| 成人动态视频| 综合分类小说区另类春色亚洲小说欧美| 国产精品视频久久久| 国精产品一区一区二区三区mba| 亚洲人成网站在线在线观看| 亚洲福利一区二区三区| 美女三级99| 国产免费黄色大片| 99精品福利视频| 搡老女人一区二区三区视频tv| 日韩在线一区视频| 久草免费在线视频| 一区在线观看免费| 国产视频一区二区不卡| 中文在线最新版天堂| 欧美日本中文| 中日韩美女免费视频网址在线观看 | 国产亚洲一区二区三区不卡| 欧美一区二区三区公司| 国产乱子夫妻xx黑人xyx真爽| 91在线看黄| 成人免费三级在线| 国产欧美日韩免费看aⅴ视频| 国产精品第108页| 欧美肥老太太性生活| 亚洲激情视频在线| 少妇愉情理伦片bd| 精品无人乱码一区二区三区 | 成人av先锋影音| 国产欧美日韩精品在线观看| 99精品视频99| 亚洲欧美一级二级三级| www.xxxx欧美| 欧美巨胸大乳hitomi| 日韩mv欧美mv国产网站| 日韩欧美精品在线视频| 亚洲精品成人在线播放| 亚洲mmav| 色偷偷成人一区二区三区91| 精品少妇在线视频| 中国av在线播放| 国产精品丝袜一区| 日本一区二区三区精品视频| 五十路在线观看| 国产1区2区3区精品美女| 成人性生交xxxxx网站| 少妇无套内谢久久久久| 老牛嫩草一区二区三区日本| 国模叶桐国产精品一区| 国产亚洲精品成人| 欧美精品午夜| 欧美人在线观看| 黑鬼狂亚洲人videos| 国产精品99久久久久久动医院| 中文字幕国产日韩| 日韩福利在线视频| 日韩专区精品| 俺去了亚洲欧美日韩| 国产亚洲精品久久久久久豆腐| 成人免费看片39| 正在播放亚洲1区| 亚洲综合久久av一区二区三区| 成人免费av| 久久人人爽人人爽人人片亚洲| 四虎884aa成人精品| 一本到12不卡视频在线dvd| 久久久www成人免费精品| 侵犯稚嫩小箩莉h文系列小说| 婷婷综合激情| 九九热视频这里只有精品| 久久综合成人网| 亚洲精品综合| 国产成人久久久| 在线观看免费视频一区| 国产一区视频导航| 国产一区二区精品免费| 每日更新在线观看av| 国产精品天天摸av网| 中日韩在线视频| 免费污视频在线观看| 欧美性猛交xxxx| 亚洲国产精品三区| 99视频这里有精品| 欧美精品一区二区三区蜜桃 | 亚洲一级片免费看| 国产很黄免费观看久久| 精品视频免费观看| jizz视频在线观看| 亚洲国产中文字幕在线视频综合 | 久久99热这里只有精品| 97免费高清电视剧观看| 亚洲欧美日韩免费| 中文字幕在线不卡一区| 成人免费看片'免费看| 性欧美xxx69hd高清| 欧美日韩精品免费| 老熟女高潮一区二区三区| 久久av网址| 欧美成人在线影院| 亚洲影院在线播放| 国产一区二区三区在线观看免费| 国产一区二区高清不卡 | 四虎影视精品| 久久久成人精品视频| 在线观看亚洲欧美| 韩国欧美国产1区| 裸体丰满少妇做受久久99精品 | 欧美激情精品久久久久久大尺度| 无码人妻丰满熟妇奶水区码| 国产在线精品不卡| 麻豆一区区三区四区产品精品蜜桃| 天堂中文8资源在线8| 午夜成人免费电影| 欧美一级特黄aaa| 九九亚洲精品| 久久久亚洲网站| 中文av免费观看| 97se亚洲国产综合自在线观| 一区二区三区四区免费观看| 中文字幕在线视频网站| 欧美成人精品1314www| 精品在线观看一区| 久久综合婷婷| 精品在线观看一区二区| 羞羞视频在线观看不卡| 欧美色偷偷大香| 少妇真人直播免费视频| 欧美日韩影院| 亚洲自拍偷拍网址| 色老头视频在线观看| 欧美网站在线观看| 日韩Av无码精品| 欧美激情一区| 亚洲一区二区久久久久久久| 视频一区二区三区不卡| 91成人在线精品| 免费成人蒂法网站| 99视频一区| 国产精品区一区| 深夜国产在线播放| 日韩欧美一区电影| 裸体武打性艳史| 国产一区二区三区精品欧美日韩一区二区三区 | 人人精品亚洲| 97视频色精品| 亚洲av综合色区无码一区爱av| 国产精品白丝在线| 国产又黄又猛又粗又爽的视频| 国产探花在线精品| 国产激情久久久| 超碰免费在线| 欧美日韩在线一区二区| 青青青视频在线播放| 麻豆91精品91久久久的内涵| 天天综合中文字幕| 久久爱www.| 欧美激情精品久久久久久大尺度| 高潮一区二区三区乱码| 亚洲国产美女搞黄色| 91黄色免费视频| 国产精品亚洲综合色区韩国| 农村寡妇一区二区三区| 欧亚一区二区| 日韩在线视频免费观看| av手机免费看| 亚洲国产欧美日韩另类综合| 国产精品无码一区二区三| 午夜亚洲一区| 亚洲精品在线观看免费| 四虎影视4hu4虎成人| 久久综合久久八八| 狠狠躁夜夜躁av无码中文幕| 黄色精品在线看| 无码一区二区三区在线| 九九**精品视频免费播放| 白白操在线视频| 台湾色综合娱乐中文网| 国产精品麻豆va在线播放| 国产最新在线| 亚洲国产精品久久久| 日本中文字幕在线观看视频| 中文字幕日本不卡| 人妻激情偷乱频一区二区三区| 亚洲一区二区三区四区五区午夜| 午夜欧美性电影| 亚洲va欧美va人人爽成人影院| 欧美一级高清免费| 日本在线播放| 亚洲精品电影网在线观看| 波多野结衣电车痴汉| 依依成人精品视频| 中文字幕 亚洲一区| 激情伊人五月天久久综合| 黄色成人在线看| 日韩www.| 精品国产区在线| 黄色欧美视频| 5278欧美一区二区三区| 国产日产一区二区| 亚洲欧美激情另类校园| 国产xxxx孕妇| 色94色欧美sute亚洲线路一ni| 国产美女福利视频| 久久免费视频一区| 日本少妇xxxx软件| 青椒成人免费视频| 欧美精品99久久| 欧美a级在线| 亚洲欧洲在线一区| 天天躁日日躁成人字幕aⅴ| 日韩在线影视| 尤物精品国产第一福利三区| 国产aⅴ一区二区三区| 欧美午夜精品久久久久久人妖| fc2ppv在线播放| 91麻豆视频网站| 久久久久亚洲av无码专区首jn| 蜜臀av性久久久久蜜臀aⅴ四虎| 国产精品入口芒果| 91精品综合| 亚洲精品国产系列| 日韩大片在线免费观看| 国产精品国产精品| 精品国产亚洲一区二区三区在线| 国产不卡视频在线| 成入视频在线观看| 欧美夫妻性视频| 黄网站在线免费看| 伊是香蕉大人久久| 天堂成人在线观看| 日韩欧美色综合网站| 11024精品一区二区三区日韩| 色婷婷久久久综合中文字幕| 久久久久久久久久影院| 亚洲成年人影院| 国产亚洲欧美久久久久| 亚洲精品久久7777| 性色av无码久久一区二区三区| 欧美国产97人人爽人人喊| 亚洲人成人无码网www国产| 91亚洲精品久久久蜜桃网站| 大桥未久恸哭の女教师| 国产成人精品1024| 特种兵之深入敌后| 国产一区二区免费在线| 一级 黄 色 片一| 国内精品免费在线观看| av噜噜在线观看| 韩国精品在线观看| 欧美激情第一区| 国产精品亚洲人在线观看| 原创真实夫妻啪啪av| 国产麻豆日韩欧美久久| 免费观看黄网站| 国产成a人亚洲精品| 亚洲视频天天射| 成人午夜激情视频| 国产二级一片内射视频播放| 成人av在线播放网站| 欲求不满的岳中文字幕| 91麻豆福利精品推荐| 受虐m奴xxx在线观看| 久久久久亚洲蜜桃| 日韩不卡av在线| 中文字幕在线视频一区| 亚洲欧美卡通动漫| 夜夜嗨av一区二区三区| 日韩精品一卡二卡| 色噜噜久久综合| 一二区在线观看| 欧美一级国产精品| 午夜视频福利在线| 国产一区二区日韩| caoporn免费在线视频| 高清欧美性猛交xxxx黑人猛交| 日韩在线伦理| 国产精品在线看| 亚洲国产中文在线二区三区免| 国产偷国产偷亚洲高清97cao| 免费精品国产| 最新不卡av| 国产欧美二区| 蜜臀av免费观看| 大桥未久av一区二区三区中文| 国产麻豆天美果冻无码视频| 中文字幕不卡的av| 青青草原免费观看| 一本色道a无线码一区v| 国产露脸无套对白在线播放| 精品国产免费久久| 黄色网址在线播放| 欧美xxxx14xxxxx性爽| 精品丝袜在线| 成人午夜黄色影院| 校花撩起jk露出白色内裤国产精品 | 国产玉足脚交久久欧美| 日韩av成人高清| 波多野结衣三级视频| 久久精品一级爱片| 欧美另类视频在线观看| 一本到一区二区三区| 99久久久久久久| 亚洲视频在线看| 免费毛片在线看片免费丝瓜视频| 国产精品白嫩初高中害羞小美女| 久久久精品区| 日韩wuma| 在线视频精品| 亚洲成人激情小说| 欧美激情综合在线| 国产免费观看av| 欧美一区二区高清| 国产大学生校花援交在线播放| 欧美疯狂xxxx大交乱88av| 欧美91在线|欧美| 蜜桃狠狠色伊人亚洲综合网站| 欧美一区免费| 一区二区在线播放视频| 99久久99久久综合| 免费中文字幕在线观看| 欧美日韩在线直播| 国产中文在线观看| 欧美孕妇毛茸茸xxxx| 亚洲成人偷拍| 欧美h视频在线观看| 日韩国产欧美在线观看| 一女三黑人理论片在线| 亚洲国产精品久久久久秋霞影院| 国产特黄一级片| 色噜噜狠狠狠综合曰曰曰88av| 国模冰冰炮一区二区| 国产综合欧美在线看| 欧美精品成人| 国产一级二级av| 一区二区三区资源| 国产日韩欧美视频在线观看| 日韩在线观看免费高清完整版| 国产精品传媒麻豆hd| 日本最新一区二区三区视频观看| 国产一区二区三区的电影| 97中文字幕在线观看| 亚洲自拍偷拍九九九| 国产极品999| 欧美精品一本久久男人的天堂| 成人av在线播放| 欧美精品一区二区性色a+v| 麻豆成人在线观看| 久久嫩草捆绑紧缚| 欧美高清视频一二三区| 欧美激情免费| 亚洲一区二区三区xxx视频| 亚洲国产不卡| 一起草最新网址| 亚洲成人自拍偷拍| 黄色av一区二区三区| 国产综合在线视频| 欧美大胆视频| 国模杨依粉嫩蝴蝶150p| 国产女主播一区| 一级黄色a视频| 久久手机免费视频| 伊人久久噜噜噜躁狠狠躁| 性一交一乱一伧国产女士spa| 99久久免费精品高清特色大片| 亚洲s码欧洲m码国产av| 国产午夜精品一区理论片飘花| 国产精品久久久久久久久免费高清| 伊人狠狠色丁香综合尤物| 国产乱码精品一区二区三区忘忧草| 午夜少妇久久久久久久久| 亚洲国产成人精品久久久国产成人一区| 麻豆视频在线看| 日韩久久久久久久| 国模少妇一区二区三区| 国产一级片久久| 亚洲人av在线影院| 欧美jizz18| 日本a在线天堂| 久久麻豆一区二区| 91精品国自产| 欧美精品18videos性欧美| 欧美毛片免费观看| 黄色aaa级片| 亚洲综合在线免费观看| 免费在线观看一级毛片| 亚洲影视中文字幕| 国产亚洲在线观看| 中国美女黄色一级片| 亚洲成人激情在线观看| 色综合一本到久久亚洲91| 亚洲小视频在线播放| 久久免费看少妇高潮| 国产黄色一区二区| 国产xxx69麻豆国语对白| 亚洲理论电影网| 亚欧洲乱码视频| 91精品国产综合久久久久久| 男人天堂视频在线观看| 五月天激情图片|