使用sar进行性能分析
sar可用于監控Linux系統性能,幫助我們分析性能瓶頸。sar工具的使用方式為”sar [選項] intervar [count]”,其中interval為統計信息采樣時間,count為采樣次數。
?
下文將說明如何使用sar獲取以下性能分析數據:
?
整體CPU使用統計(-u)
使用-u選項,sar輸出整體CPU的使用情況,不加選項時,默認使用的就是-u選項。以下命令顯示采樣時間為1s,采樣次數為2次,整體CPU的使用情況:
linux:/ # sar -u 1 2 Linux 2.6.16.60-0.21-smp (linux) 06/08/1211:37:07 CPU %user %nice %system %iowait %steal %idle 11:37:08 all 0.00 0.00 0.25 0.00 0.00 99.75 11:37:09 all 0.00 0.00 0.25 0.00 0.00 99.75 Average: all 0.00 0.00 0.25 0.00 0.00 99.75以上主要的統計項的解析如下:
%user:?用戶態下CPU使用時間比率
%system:?內核態下CPU使用時間比率
%iowait: CPU等待I/O占用時間比率
%idle: CPU空閑時間比率
?
各個CPU使用統計(-P)
“-P ALL”選項指示對每個內核輸出統計信息:
linux:~ # sar -P ALL 1 1 Linux 2.6.16.60-0.21-smp (linux) 06/08/1214:04:37 CPU %user %nice %system %iowait %steal %idle 14:04:38 all 0.50 0.00 0.12 0.00 0.00 99.38 14:04:38 0 0.00 0.00 0.00 0.00 0.00 100.00 14:04:38 1 0.00 0.00 0.00 0.00 0.00 100.00 14:04:38 2 0.00 0.00 0.00 0.00 0.00 100.00 14:04:38 3 0.00 0.00 1.00 0.00 0.00 99.00其中”CPU”列輸出0,1,2,3指示對應的cpu核。也可針對單獨一個內核顯示,“-P 1”指示顯示第二個內核的統計信息。
?
內存使用情況統計(-r)
使用-r選項可顯示內存統計信息,以下命令顯示以1秒為采樣時間,顯示2次內存信息:
linux:~ # sar -r 1 2 Linux 2.6.16.60-0.21-smp (linux) 06/08/1214:22:50 kbmemfree kbmemused %memused kbbuffers kbcached kbswpfree kbswpused %swpused kbswpcad 14:22:51 11727480 4564652 28.02 174460 3995108 8393920 0 0.00 0 14:22:52 11727480 4564652 28.02 174460 3995108 8393920 0 0.00 0 Average: 11727480 4564652 28.02 174460 3995108 8393920 0 0.00 0上面輸出的內存單位為”kb”,各項的名稱可自解析其含義。
?
整體I/O情況(-b)
使用-b選項,可以顯示磁盤I/O的使用情況:
linux:~ # sar -b 1 2 Linux 2.6.16.60-0.21-smp (linux) 06/08/1214:50:33 tps rtps wtps bread/s bwrtn/s 14:50:34 0.99 0.00 0.99 0.00 7.92 14:50:35 4.00 0.00 4.00 0.00 136.00 Average: 2.49 0.00 2.49 0.00 71.64以上各列的含義為:
tps:?每秒向磁盤設備請求數據的次數,包括讀、寫請求,為rtps與wtps的和。出于效率考慮,每一次IO下發后并不是立即處理請求,而是將請求合并(merge),這里tps指請求合并后的請求計數。
rtps:?每秒向磁盤設備的讀請求次數
wtps:?每秒向磁盤設備的寫請求次數
bread:?每秒從磁盤讀的bytes數量
bwrtn:?每秒向磁盤寫的bytes數量
?
各個I/O設備情況(-d)
使用-d選項可以顯示各個磁盤的統計信息,再增加-p選項可以以sdX的形式顯示設備名稱:
linux:~ # sar -d -p 1 1 Linux 2.6.16.60-0.21-smp (linux) 06/08/1215:43:34 DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util 15:43:35 sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15:43:35 sdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15:43:35 sdc 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00以上輸出中DEV列以sdX的方式顯示了設備名稱。
?
網絡統計(-n)
使用-n選項可以對網絡使用情況進行顯示,-n后接關鍵詞”DEV”可顯示eth0、eth1等網卡的信息:
linux:~ # sar -n DEV 1 1 Linux 2.6.16.60-0.21-smp (linux) 06/08/1215:50:22 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 15:50:23 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15:50:23 eth0 23.76 1.98 1.59 0.26 0.00 0.00 0.00 15:50:23 eth1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15:50:23 eth2 7.92 0.00 0.60 0.00 0.00 0.00 0.00以上主要輸出含義如下:
IFACE:?網絡接口名稱
rxpck/s:?每秒收包的數量
txpck/s:?每秒發包的數量
rxkB/s:?每秒收的數據量(kB為單位)
txkB/s:?每秒發的數據量(kB為單位)
?
sar日志保存(-o)
最后講一下如何保存sar日志,使用-o選項,我們可以把sar統計信息保存到一個指定的文件,對于保存的日志,我們可以使用-f選項讀取:
linux:~ # sar -n DEV 1 10 -o sar.out linux:~ # sar -d 1 10 -f sar.out相比將結果重定向到一個文件,使用-o選項,可以保存更多的系統資源信息。
?
Reference: 10 Useful Sar(Sysstat) Examples for UNIX/Linux Performance Monitoring
?
?
轉載于:https://www.cnblogs.com/bangerlee/archive/2012/06/12/2545747.html
總結
以上是生活随笔為你收集整理的使用sar进行性能分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [Android源码]Android源码
- 下一篇: 设置easyui input默认值