linux sar 命令使用說明
sar 命令行的常用格式:
sar [options] [-A] [-o file] t [n]
在命令行中, n 和 t 兩個參數組合起來定義采樣間隔和次數, t 為采樣間隔, 是必須有的參數, n 為采樣次數,是可選的,默認值是 1, -o file 表示將命令結果以二進制格式存放在文件中, file 在此處不是關鍵字,是文件名。 options 為命令行選項, sar 命令的選項很多,下面只列出常用選項:
? ? ?-A:所有報告的總和。
? ? ?-u: CPU 利用率
? ? ?-p:像是當前系統中指定 CPU 使用信息。
? ? ?-d:硬盤使用報告。
? ? ?-r:顯示系統內存的使用情況。
? ? ?-n: 顯示網絡運行狀態。 參數後面可跟 DEV、 EDEV、 SOCK 和 FULL。 DEV 顯示網絡接口信息, EDEV 顯示網絡錯誤的統計數據, SOCK 顯示套接字信息, FULL 顯示前三參數所以信息。
? -q:顯示運行隊列的大小,它與系統當時的平均負載相同
? -B:內存分頁情況
??-R:顯示進程在采樣時間內的活動情況。
? -g:串口 I/O 的情況。
? -b:緩沖區使用情況。
? -a:文件讀寫情況。
? -c:系統調用情況。
? -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 命令使用說明