Linux下常見的性能分析工具


1、vmstat--Virtual Meomory Statistics,可以對操作系統的內存信息、進程狀態、CPU活動等進行監視,但是無法對某個進程進行深入分析

vmstat
-n表示在週期性的循環輸出,輸出的頭部信息僅顯示一次
delay兩次的輸出間隔時間
count按照delay指定的時間間隔統計的次數
wKiom1X_rPTjsHG8AAKqegoXCf4309.jpgproces
  r列表示運行和等待CPU時間片的進程數,這個值如果長期大於系統CPU個數,說明cpu不足。
  b列表示等待資源的進程數,比如正在等待IO或者內存交換
memory
  swap表示切換到內存交換分區的內存大小,如果其不爲0或者比較大,只要si、so值長期是0就是ok
  cache表示page cache的內存數量,是文件系統進行緩存,頻繁訪問的文件都會被緩存。如果其值大,說明緩存文件數多,如果此時io中的bi小,說明文件系統效率比較好
io
  bi表示從塊設備讀入數據的總量--讀磁盤
  bo表示寫到塊設備的數據總量--寫磁盤
system
  in表示在某一時間間隔內觀測到的每秒設備中斷數
  cs表示每表產生的上下文切換次數
  上面這連個值越到內核消耗CPU時間越多

CPU
  us表示用戶進程消耗的cpu時間百分比。us的值比較高時,說明用戶進程消耗的cpu時間多,但是長期大於50%,需要考慮優化程序
  sy內核消耗cpu時間百分比
  us+sy參考值是80%
***重點關注procs中的r列 && CPU中的us、sy列的值

2、sar是分析系統性能的重要工具

sar
-A顯示系統所有資源設備的運行狀況
-u顯示系統所有CPU在採樣時間內的負載狀態
-P顯示當前系統中指定CPU的使用情況
-d顯示系統所有硬盤設備在採樣時間內的使用狀態
-r顯示系統內存在採樣時間內的使用狀況
-b顯示緩衝區在採樣時間內的使用情況
-v顯示進程、文件、節點、鎖表狀態
-n網絡運行狀態。參數後可跟DEV,EDEV,SOCK,FULL.
    DEV顯示網絡接口信息,EDEV顯示網絡錯誤的統計數據,sock顯示套接字信息
-q顯示運行隊列的大小,它與系統當時的平均負載相同
-R顯示進程在採樣時間內的活動情況
-y顯示終端設備在採樣時間內的活動情況
-W顯示系統交換活動在採樣時間誒的狀態
-o filename表示將命令結果以二進制格式存放在文件中。
interval表示採樣間隔時間
count表示採樣次數

wKiom1X_sUWAYMy3AAUezueaXJA659.jpg


3、iostat

iostat
-c顯示cpu的使用情況
-d顯示磁盤的使用情況
-x device指定要統計的磁盤名稱
interval指定兩次統計時間間隔
wKioL1X_tseCxXaYAAIRyNcv88M628.jpg

Blk_read/s表示每表讀取的數據塊數
Blk_wrtn/s表示每表寫入的數據塊數
如果Blk_wrtn/s值很大,表示磁盤寫操作很頻繁;Blk_read/s很大表示讀頻繁,可以考慮將數據放到內存中。

4、free

5、top

6、netstat

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章