sar命令node
sar能夠顯示出文件的讀寫狀況、系統調用的使用狀況、磁盤I/O、CPU使用率、內存使用率、進程活動及IPC等ios
用法: sar [options] [-A] [-o file] t [n]網絡
經常使用參數:app
-A 列出全部的項目使用狀況ide
-u 列出cpu的使用狀況spa
-v 輸出inode、文件和其餘內核表的統計信息隊列
-d:輸出每個塊設備的活動信息進程
-r:輸出內存和交換空間的統計信息內存
-b:顯示I/O和傳送速率的統計信息資源
-R:輸出內存頁面的統計信息
-w:輸出系統交換活動信息
默認監控:sar 5 5 // CPU和IOWAIT統計狀態
(1) sar -b 5 5 // IO傳送速率
(2) sar -B 5 5 // 頁交換速率
(3) sar -c 5 5 // 進程建立的速率
(4) sar -d 5 5 // 塊設備的活躍信息
(5) sar -n DEV 5 5 // 網路設備的狀態信息
(6) sar -n SOCK 5 5 // SOCK的使用狀況
(7) sar -n ALL 5 5 // 全部的網絡狀態信息
(8) sar -P ALL 5 5 // 每顆CPU的使用狀態信息和IOWAIT統計狀態
(9) sar -q 5 5 // 隊列的長度(等待運行的進程數)和負載的狀態
(10) sar -r 5 5 // 內存和swap空間使用狀況
(11) sar -R 5 5 // 內存的統計信息(內存頁的分配和釋放、系統每秒做爲BUFFER使用內存頁、每秒被cache到的內存頁)
(12) sar -u 5 5 // CPU的使用狀況和IOWAIT信息(同默認監控)
(13) sar -v 5 5 // inode, file and otherkernel tablesd的狀態信息
(14) sar -w 5 5 // 每秒上下文交換的數目
(15) sar -W 5 5 // SWAP交換的統計信息(監控狀態同iostat 的si so)
(16) sar -x 2906 5 5 // 顯示指定進程(2906)的統計信息,信息包括:進程形成的錯誤、用戶級和系統級用戶CPU的佔用狀況、運行在哪顆CPU上
(17) sar -y 5 5 // TTY設備的活動狀態
(18) 將輸出到文件(-o)和讀取記錄信息(-f)
使用:
1)查看cpu使用,每2s採集一次,連續採集8次
[root@mailservices]# sar -u 2 8
Linux2.6.18-194.el5 (mail.xywy.com) 07/22/15
14:24:50 CPU %user %nice %system %iowait %steal %idle
14:24:52 all 0.06 0.00 0.38 24.56 0.00 75.00
14:24:54 all 0.00 0.00 0.50 24.55 0.00 74.95
14:24:56 all 17.54 0.00 8.05 19.98 0.00 54.43
14:24:58 all 9.56 0.00 3.69 14.31 0.00 72.44
14:25:00 all 8.94 0.00 3.25 13.88 0.00 73.94
14:25:02 all 10.87 0.00 5.25 13.37 0.00 70.52
14:25:04 all 14.61 0.00 5.06 11.92 0.00 68.41
14:25:06 all 15.74 0.00 4.43 14.18 0.00 65.65
Average: all 9.67 0.00 3.83 17.09 0.00 69.42
輸出項說明:
CPU:all 表示統計信息爲全部 CPU的平均值。
%user:顯示在用戶級別(application)運行使用 CPU 總時間的百分比。
%nice:顯示在用戶級別,用於nice操做,所佔用 CPU 總時間的百分比。
%system:在覈心級別(kernel)運行所使用 CPU 總時間的百分比。
%iowait:顯示用於等待I/O操做佔用 CPU 總時間的百分比。
%steal:管理程序(hypervisor)爲另外一個虛擬進程提供服務而等待虛擬 CPU 的百分比。
%idle:顯示 CPU 空閒時間佔用 CPU 總時間的百分比。
1. 若 %iowait 的值太高,表示硬盤存在I/O瓶頸
2. 若 %idle 的值高但系統響應慢時,有多是 CPU 等待分配內存,此時應加大內存容量
3. 若 %idle 的值持續低於1,則系統的 CPU 處理能力相對較低,代表系統中最須要解決的資源是 CPU 。
若是要看單個CPU的話,可使用-P參數
[root@CHN-DD-00-E4-01 vhosts]#sar -u -P ALL 1 1 ALL表示全部,能夠用數字表示單個cpu
Linux2.6.32-279.el6.x86_64 (CHN-DD-00-E4-01) 07/22/15 _x86_64_ (8CPU)
15:15:55 CPU %user %nice %system %iowait %steal %idle
15:15:56 all 0.12 0.00 0.12 0.00 0.00 99.75
15:15:56 0 0.99 0.00 0.99 0.00 0.00 98.02
15:15:56 1 0.00 0.00 0.00 0.00 0.00 100.00
15:15:56 2 0.00 0.00 0.00 0.00 0.00 100.00
15:15:56 3 0.99 0.00 0.99 0.00 0.00 98.02
15:15:56 4 0.00 0.00 0.00 0.00 0.00 100.00
15:15:56 5 0.00 0.00 0.00 0.00 0.00 100.00
15:15:56 6 0.00 0.00 0.00 0.00 0.00 100.00
15:15:56 7 0.00 0.00 0.00 0.00 0.00 100.00
Average: CPU %user %nice %system %iowait %steal %idle
Average: all 0.12 0.00 0.12 0.00 0.00 99.75
Average: 0 0.99 0.00 0.99 0.00 0.00 98.02
Average: 1 0.00 0.00 0.00 0.00 0.00 100.00
Average: 2 0.00 0.00 0.00 0.00 0.00 100.00
Average: 3 0.99 0.00 0.99 0.00 0.00 98.02
Average: 4 0.00 0.00 0.00 0.00 0.00 100.00
Average: 5 0.00 0.00 0.00 0.00 0.00 100.00
Average: 6 0.00 0.00 0.00 0.00 0.00 100.00
Average: 7 0.00 0.00 0.00 0.00 0.00 100.00
2)查看負載
[root@yzyyyyyyyyyyyyyyyyyyy~]# sar -q 1 5
Linux2.6.32-279.el6.x86_64 (yzyyyyyyyyyyyyyyyyyyy) 07/22/15 _x86_64_ (8CPU)
15:20:02 runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15
15:20:03 1 260 1.00 1.00 1.00
15:20:04 1 260 1.00 1.00 1.00
15:20:05 1 260 1.00 1.00 1.00
15:20:06 1 260 1.00 1.00 1.00
15:20:07 1 260 1.00 1.00 1.00
Average: 1 260 1.00 1.00 1.00
輸出項解釋:
runq-sz 運行隊列的長度
plist-sz 進程的數量
ldavg-1 1分鐘內的負載
ldavg-5 5分鐘內的負載
ldavg-15 15分鐘內的負載
3)查看磁盤I/O
[root@jjjjjjjjjj~]# sar -b 1 5
Linux2.6.32-279.el6.x86_64 (jjjjjjjjjj) 07/22/15 _x86_64_ (24CPU)
15:35:48 tps rtps wtps bread/s bwrtn/s
15:35:49 0.00 0.00 0.00 0.00 0.00
15:35:50 4.00 0.00 4.00 0.00 88.00
15:35:51 0.00 0.00 0.00 0.00 0.00
15:35:52 0.00 0.00 0.00 0.00 0.00
15:35:53 0.00 0.00 0.00 0.00 0.00
Average: 0.80 0.00 0.80 0.00 17.60
輸出項解釋:
tps:每秒從物理磁盤I/O的次數.多個邏輯請求會被合併爲一個I/O磁盤請求,一次傳輸的大小是不肯定的.
rtps:每秒的讀請求數
wtps:每秒的寫請求數
bread/s:每秒讀磁盤的數據塊數(in blocks 1 block = 512B, 2.4之後內核)
bwrtn/s:每秒寫磁盤的數據塊數(in blocks 1 block = 512B, 2.4之後內核)
通常狀況下tps=(rtps+wtps)
4)查看內存和swap空間使用
[root@yzyyyyyyyyyyyyyyyyyyy ~]# sar -r 1 5
Linux 2.6.32-279.el6.x86_64 (yzyyyyyyyyyyyyyyyyyyy) 07/22/15 _x86_64_ (8 CPU)
15:45:37 kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit
15:45:38 3731792 29131096 88.64 382956 27130444 224160 0.60
15:45:39 3731916 29130972 88.64 382956 27130444 224160 0.60
15:45:40 3729888 29133000 88.65 382956 27130444 226228 0.61
15:45:41 3729736 29133152 88.65 382956 27130452 226228 0.61
15:45:42 3729860 29133028 88.65 382956 27130452 226228 0.61
Average: 3730638 29132250 88.65 382956 27130447 225401 0.61
輸出項解釋:
kbmemfree:這個值和free命令中的free值基本一致,因此它不包括buffer和cache的空間.
kbmemused:這個值和free命令中的used值基本一致,因此它包括buffer和cache的空間.
%memused:這個值是kbmemused和內存總量(不包括swap)的一個百分比.
kbbuffers和kbcached:這兩個值就是free命令中的buffer和cache.
kbcommit:保證當前系統所須要的內存,即爲了確保不溢出而須要的內存(RAM+swap).
%commit:這個值是kbcommit與內存總量(包括swap)的一個百分比.
5)查看網卡流量
[root@jjjjjjjjjj~]# sar -n DEV 1 1
Linux2.6.32-279.el6.x86_64 (jjjjjjjjjj) 07/23/15 _x86_64_ (24CPU)
17:39:13 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
17:39:14 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
17:39:14 em1 8.00 2.00 0.64 0.30 0.00 0.00 2.00
17:39:14 em2 6.00 0.00 0.57 0.00 0.00 0.00 5.00
17:39:14 em3 0.00 0.00 0.00 0.00 0.00 0.00 0.00
17:39:14 em4 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
Average: lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: em1 8.00 2.00 0.64 0.30 0.00 0.00 2.00
Average: em2 6.00 0.00 0.57 0.00 0.00 0.00 5.00
Average: em3 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: em4 0.00 0.00 0.00 0.00 0.00 0.00 0.00
輸出參數解釋:
IFACE:網卡名字
rxpck/s:每秒鐘接收到的包數目
txpck/s:每秒鐘發送出去的包數目
rxbyt/s:每秒鐘接收到的字節數
txbyt/s:每秒鐘發送出去的字節數
rxcmp/s:每秒鐘接收到的壓縮包數目
txcmp/s:每秒鐘發送出去的壓縮包數目
txmcst/s:每秒鐘接收到的多播包的包數目