1. 程式人生 > >linux sar 命令使用說明

linux sar 命令使用說明

linux sar sar命令

sar 是非常強大性能分析命令,通過 sar 命令可以全面的獲取系統的 CPU、運行隊列、磁盤 I/O、交換區、內存、 cpu 中斷、網絡等性能數據。
sar 命令行的常用格式:
sar [options] [-A] [-o file] t [n]
在命令行中, n 和 t 兩個參數組合起來定義采樣間隔和次數, t 為采樣間隔, 是必須有的參數, n 為采樣次數,是可選的,默認值是 1, -o file 表示將命令結果以二進制格式存放在文件中, file 在此處不是關鍵字,是文件名。 options 為命令行選項, sar 命令的選項很多,下面只列出常用選項:
? ? ?-A:所有報告的總和。
? ? ?-u: CPU 利用率
? ? ?-v:進程、節點、文件和鎖表狀態。
? ? ?-p:像是當前系統中指定 CPU 使用信息。
? ? ?-d:硬盤使用報告。
? ? ?-r:顯示系統內存的使用情況。
? ? ?-n: 顯示網絡運行狀態。 參數後面可跟 DEV、 EDEV、 SOCK 和 FULL。 DEV 顯示網絡接口信息, EDEV 顯示網絡錯誤的統計數據, SOCK 顯示套接字信息, FULL 顯示前三參數所以信息。


? -q:顯示運行隊列的大小,它與系統當時的平均負載相同
? -B:內存分頁情況
??-R:顯示進程在采樣時間內的活動情況。
? -g:串口 I/O 的情況。
? -b:緩沖區使用情況。
? -a:文件讀寫情況。
? -c:系統調用情況。
? -R:進程的活動情況。
? -y:終端設備活動情況。
? -W:系統交換活動。


1、sar監控 CPU

Linux?2.6.39-400.17.1.el6uek.x86_64?(backupserver)?	2006年10月29日?	_x86_64_	(24?CPU)

09時59分02秒?????CPU?????%user?????%nice???%system???%iowait????%steal?????%idle
09時59分05秒?????all??????0.72??????0.00??????0.10??????0.99??????0.00?????98.20
09時59分08秒?????all??????0.66??????0.00??????0.08??????0.58??????0.00?????98.67
09時59分11秒?????all??????0.47??????0.00??????0.07??????0.28??????0.00?????99.18
09時59分14秒?????all??????0.66??????0.00??????0.11??????0.36??????0.00?????98.86
09時59分17秒?????all??????0.64??????0.00??????0.12??????0.32??????0.00?????98.92
平均時間:?????all??????0.63??????0.00??????0.10??????0.51??????0.00?????98.77
[root@backupserver?~]#


? ? %usr:用戶進程消耗的 CPU 時間百分比。
? ? %nice: 運行正常進程消耗的 CPU 時間百分比。
? ? %system:系統進程消耗的 CPU 時間百分比。
? ??%iowait: I/O 等待所占 CPU 時間百分比。
? ? %steal:在內存緊張環境下, pagein 強制對不同的頁面進行的 steal 操作。
? ? %idle: CPU 空閑狀態的時間百分比。
在所有的顯示中,我們應主要註意%iow 和%idle, %iow 的值過高,表示硬盤存在 I/O 瓶頸, %idle 值高,表示 CPU 較空閑,如果%idle 值高但系統響應慢時,有可能是 CPU 等待分配內存, 此時應加大內存容量。 %idle 值如果持續低於 10,那麽系統的 CPU 處理能力相對較低,表 明系統中最需要解決的資源是 CPU。

2、sar內存和交換空間監控

[root@backupserver?~]#?sar?-r?5?3
Linux?2.6.39-400.17.1.el6uek.x86_64?(backupserver)?	2006年10月29日?	_x86_64_	(24?CPU)

10時00分57秒?kbmemfree?kbmemused??%memused?kbbuffers??kbcached??kbcommit???%commit
10時01分02秒????357864??65689092?????99.46????440880??59862196???5357776??????6.39
10時01分07秒????356620??65690336?????99.46????440880??59862684???5359028??????6.39
10時01分12秒????356608??65690348?????99.46????440880??59862692???5359000??????6.39
平均時間:????357031??65689925?????99.46????440880??59862524???5358601??????6.39
[root@backupserver?~]#?free?-m
?????????????total???????used???????free?????shared????buffers?????cached
Mem:?????????64498??????64150????????348??????????0????????430??????58459
-/+?buffers/cache:???????5260??????59238
Swap:????????17407?????????60??????17347
[root@backupserver?~]#

? ? Kbmemfree: 這個值和 free 命令中的 free 值基本一致,所以它不包括 buffer 和 cache 的空間。
? ? kbmemused:這個值和 free 命令中的 used 值基本一致,所以它包括 buffer 和 cache 的空間。
? ? %memused:這個值是 kbmemused 和內存總量(不包括 swap)的一個百分比。
? ? kbbuffers 和 kbcached:這兩個值就是 free 命令中的 buffer 和 cache。
? ? kbcommit:保證當前系統所需要的內存,即為了確保不溢出而需要的內存(RAM+swap)。
? ? %commit:這個值是 kbcommit 與內存總量(包括 swap)的一個百分比。


3、sar內存分頁監控

[root@backupserver?~]#?sar?-B?5?3
Linux?2.6.39-400.17.1.el6uek.x86_64?(backupserver)?	2006年10月29日?	_x86_64_	(24?CPU)

10時03分23秒??pgpgin/s?pgpgout/s???fault/s??majflt/s??pgfree/s?pgscank/s?pgscand/s?pgsteal/s????%vmeff
10時03分28秒??????0.00???1750.58?????61.00??????0.00????145.95??????0.00??????0.00??????0.00??????0.00
10時03分33秒??????0.00???1273.96?????46.79??????0.00?????56.23??????0.00??????0.00??????0.00??????0.00
10時03分38秒??????0.00???2804.50?????81.80??????0.00????177.67??????0.00??????0.00??????0.00??????0.00
平均時間:??????0.00???1946.11?????63.25??????0.00????126.57??????0.00??????0.00??????0.00??????0.00
[root@backupserver?~]#

? ? pgpgin/s:表示每秒從磁盤或 SWAP 置換到內存的字節數(KB)。
? ? pgpgout/s:表示每秒從內存置換到磁盤或 SWAP 的字節數(KB)。
? ? fault/s:每秒鐘系統產生的缺頁數,即主缺頁與次缺頁之和(major + minor)。
? ? majflt/s:每秒鐘產生的主缺頁數。


4、sar I/O 和傳送速率監控

[root@backupserver?~]#?sar?-b?5?3
Linux?2.6.39-400.17.1.el6uek.x86_64?(backupserver)?	2006年10月29日?	_x86_64_	(24?CPU)

10時06分16秒???????tps??????rtps??????wtps???bread/s???bwrtn/s
10時06分21秒????112.27??????0.74????111.52?????53.53??10257.25
10時06分26秒?????77.46??????0.00?????77.46??????0.00???7848.48
10時06分31秒?????93.51??????0.00?????93.51??????0.00???6970.99
平均時間:?????94.53??????0.25?????94.28?????18.11???8374.34
[root@backupserver?~]#

? ?tps:每秒鐘物理設備的 I/O 傳輸總量。
? ?rtps:每秒鐘從物理設備讀入的數據總量。
? ?wtps:每秒鐘向物理設備寫入的數據總量。
? ?bread/s:每秒鐘從物理設備讀入的數據量,單位為 塊/s。
? ?bwrtn/s:每秒鐘向物理設備寫入的數據量,單位為 塊/s。


5、sar進程隊列長度和平均負載狀態監控

[root@backupserver?~]#?sar?-q?5?3
Linux?2.6.39-400.17.1.el6uek.x86_64?(backupserver)?	2006年10月29日?	_x86_64_	(24?CPU)

10時10分59秒???runq-sz??plist-sz???ldavg-1???ldavg-5??ldavg-15
10時11分04秒?????????0???????331??????0.42??????0.40??????0.39
10時11分09秒?????????0???????331??????0.63??????0.44??????0.40
10時11分14秒?????????1???????331??????0.58??????0.43??????0.40
平均時間:?????????0???????331??????0.54??????0.42??????0.40
[root@backupserver?~]#

? ? runq-sz:運行隊列的長度(等待運行的進程數)。
? ? plist-sz:進程列表中進程(processes)和線程(threads)的數量。
? ? ldavg-1:最後 1 分鐘的系統平均負載(System load average)。
? ? ldavg-5:過去 5 分鐘的系統平均負載。
? ? ldavg-15:過去 15 分鐘的系統平均負載。


6、sar系統交換活動信息監控

[root@backupserver?~]#?sar?-W?3?5
Linux?2.6.39-400.17.1.el6uek.x86_64?(backupserver)?	2006年10月29日?	_x86_64_	(24?CPU)

10時13分07秒??pswpin/s?pswpout/s
10時13分10秒??????0.00??????0.00
10時13分13秒??????0.00??????0.00
10時13分16秒??????0.00??????0.00
10時13分19秒??????0.00??????0.00
10時13分22秒??????0.00??????0.00
平均時間:??????0.00??????0.00
[root@backupserver?~]#

? ?pswpin/s:每秒系統換入的交換頁面(swap page)數量。
? ?pswpout/s:每秒系統換出的交換頁面(swap page)數量。


7、sar設備使用情況監控

[root@backupserver?~]#?sar?-d?5?3
Linux?2.6.39-400.17.1.el6uek.x86_64?(backupserver)?	2006年10月29日?	_x86_64_	(24?CPU)

10時14分15秒???????DEV???????tps??rd_sec/s??wr_sec/s??avgrq-sz??avgqu-sz?????await?????svctm?????%util
10時14分20秒????dev8-0?????23.67??????0.00???3457.58????146.05??????0.19??????8.18??????4.69?????11.10
10時14分20秒??dev252-0??????0.57??????0.00??????4.55??????8.00??????0.00??????0.00??????0.00??????0.00
10時14分20秒??dev252-1??????0.00??????0.00??????0.00??????0.00??????0.00??????0.00??????0.00??????0.00
10時14分20秒??dev252-2??????0.00??????0.00??????0.00??????0.00??????0.00??????0.00??????0.00??????0.00
10時14分20秒??dev252-3??????0.00??????0.00??????0.00??????0.00??????0.00??????0.00??????0.00??????0.00
10時14分20秒??dev252-4?????58.71??????0.00???3453.03?????58.81??????0.44??????7.56??????1.89?????11.10

10時14分20秒???????DEV???????tps??rd_sec/s??wr_sec/s??avgrq-sz??avgqu-sz?????await?????svctm?????%util
10時14分25秒????dev8-0?????31.06??????0.00???4545.09????146.32??????0.22??????6.94??????2.93??????9.10
10時14分25秒??dev252-0??????0.00??????0.00??????0.00??????0.00??????0.00??????0.00??????0.00??????0.00
10時14分25秒??dev252-1??????0.00??????0.00??????0.00??????0.00??????0.00??????0.00??????0.00??????0.00
10時14分25秒??dev252-2??????0.00??????0.00??????0.00??????0.00??????0.00??????0.00??????0.00??????0.00
10時14分25秒??dev252-3??????0.00??????0.00??????0.00??????0.00??????0.00??????0.00??????0.00??????0.00
10時14分25秒??dev252-4?????69.74??????0.00???4545.09?????65.17??????0.33??????4.75??????1.30??????9.10

10時14分25秒???????DEV???????tps??rd_sec/s??wr_sec/s??avgrq-sz??avgqu-sz?????await?????svctm?????%util
10時14分30秒????dev8-0?????38.11??????0.00???5860.90????153.77??????0.64?????16.91??????3.99?????15.23
10時14分30秒??dev252-0??????0.00??????0.00??????0.00??????0.00??????0.00??????0.00??????0.00??????0.00
10時14分30秒??dev252-1??????0.00??????0.00??????0.00??????0.00??????0.00??????0.00??????0.00??????0.00
10時14分30秒??dev252-2??????0.00??????0.00??????0.00??????0.00??????0.00??????0.00??????0.00??????0.00
10時14分30秒??dev252-3??????0.00??????0.00??????0.00??????0.00??????0.00??????0.00??????0.00??????0.00
10時14分30秒??dev252-4?????87.82??????0.00???5860.90?????66.74??????0.91?????10.41??????1.74?????15.25

平均時間:???????DEV???????tps??rd_sec/s??wr_sec/s??avgrq-sz??avgqu-sz?????await?????svctm?????%util
平均時間:????dev8-0?????30.86??????0.00???4607.29????149.30??????0.35?????11.35??????3.83?????11.82
平均時間:??dev252-0??????0.20??????0.00??????1.56??????8.00??????0.00??????0.00??????0.00??????0.00
平均時間:??dev252-1??????0.00??????0.00??????0.00??????0.00??????0.00??????0.00??????0.00??????0.00
平均時間:??dev252-2??????0.00??????0.00??????0.00??????0.00??????0.00??????0.00??????0.00??????0.00
平均時間:??dev252-3??????0.00??????0.00??????0.00??????0.00??????0.00??????0.00??????0.00??????0.00
平均時間:??dev252-4?????71.94??????0.00???4605.73?????64.02??????0.56??????7.83??????1.64?????11.82
[root@backupserver?~]#

? ??tps:每秒從物理磁盤 I/O 的次數.多個邏輯請求會被合並為一個 I/O 磁盤請求,一次傳輸的大小是不確定的。
? ? rd_sec/s:每秒讀扇區的次數。
? ? wr_sec/s:每秒寫扇區的次數。
? ? avgrq-sz:平均每次設備 I/O 操作的數據大小(扇區)。
? ? avgqu-sz:磁盤請求隊列的平均長度。
? ? await:從請求磁盤操作到系統完成處理,每次請求的平均消耗時間,包括請求隊列等待時間,單位是毫秒(1 秒=1000 毫秒)。
? ? svctm:系統處理每次請求的平均時間,不包括在請求隊列中消耗的時間。
? ? %util:I/O 請求占 CPU 的百分比,比率越大,說明越飽和。
? ? 1. avgqu-sz 的值較低時,設備的利用率較高。
? ? 2. 當%util 的值接近 1% 時,表示設備帶寬已經占滿。

總結

? ?要判斷系統瓶頸問題,有時需幾個 sar 命令選項結合起來
? ?懷疑 CPU 存在瓶頸,可用 sar -u 和 sar -q 等來查看
? ?懷疑內存存在瓶頸,可用 sar -B、 sar -r 和 sar -W 等來查看
? ?懷疑 I/O 存在瓶頸,可用 sar -b、 sar -u 和 sar -d 等來查看


linux sar 命令使用說明