sar 既能報告目前資料,也能報告曆史資料
不帶選項執行會以10分鐘為間隔報告自午夜起當天的CPU使用率。
腳本sal收集了這些曆史資料,它是sar軟體包的一部分,必須設定為定期從cron裡運作
sar把自已收集的資料以二進制格式儲存在/var/log/sa裡
使用 sar -d 可以得到當天磁盤活動的情況彙總
sar -n DEV 則能給出網絡接口的統計資訊
sar -A 可以報告所有的資訊
sar 适用于快速粗略了解曆史資訊。
sar 指令行的常用格式: sar [options] [-o file] t [n]
options 為指令行選項,sar指令的選項很多,下面隻列出常用選項:
-A:所有報告的總和。
-u:CPU使用率
-v:程序、I節點、檔案和鎖表狀态。
-d:硬碟使用報告。
-r:沒有使用的記憶體頁面和硬碟塊。
-g:序列槽I/O的情況。
-b:緩沖區使用情況。
-a:檔案讀寫情況。
-c:系統調用情況。
-R:程序的活動情況。
-y:終端裝置活動情況。
-w:系統交換活動。
sar -r -f /var/log/sa/sa24
1.指令操作使用
打開自己的CentOS,敲入“sar”,表示很失望:
[[email protected] ~]# sar
bash: sar: command not found
竟然沒有安裝,不過還好linux下安裝還是非常友善的。
[[email protected] ~]# yum install sysstat
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.grandcloud.cn
* extras: mirrors.grandcloud.cn
* updates: mirrors.grandcloud.cn
addons | 1.9 kB 00:00
base | 1.1 kB 00:00
extras | 2.1 kB 00:00
updates | 1.9 kB 00:00
updates/primary_db | 255 kB 00:01
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package sysstat.i386 0:7.0.2-11.el5 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
sysstat i386 7.0.2-11.el5 base 182 k
Transaction Summary
================================================================================
Install 1 Package(s)
Upgrade 0 Package(s)
Total download size: 182 k
Is this ok [y/N]: y
Downloading Packages:
sysstat-7.0.2-11.el5.i386.rpm | 182 kB 00:01
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : sysstat 1/1
Installed:
sysstat.i386 0:7.0.2-11.el5
Complete!
注:Sar是背景程序sadc的前端顯示工具,安裝名為“sysstat”的包後,sadc就會自動從核心收集報告并儲存。
下面對sar的一般用法進行總結,以備忘之。
sar –u 檢視CPU使用率
[[email protected] ~]# sar -u
Linux 2.6.18-194.26.1.el5 (localhost) 2012年04月29日
09時39分42秒 LINUX RESTART
09時40分01秒 CPU %user %nice %system %iowait %steal %idle
09時50分01秒 all 0.14 0.00 0.58 0.12 0.00 99.15
10時00分01秒 all 0.06 0.00 0.50 0.16 0.00 99.27
10時10分01秒 all 0.11 0.06 0.95 2.58 0.00 96.30
10時20分01秒 all 0.12 0.19 0.82 1.41 0.00 97.46
10時30分01秒 all 0.14 0.00 0.54 0.12 0.00 99.20
10時40分01秒 all 0.15 0.00 0.54 0.16 0.00 99.15
Average: all 0.12 0.04 0.65 0.76 0.00 98.43
這裡:
%user : 使用者模式下消耗的CPU時間的比例;
%nice:通過nice改變了程序排程優先級的程序,在使用者模式下消耗的CPU時間的比例;
%system:系統模式下消耗的CPU時間的比例;
%iowait:CPU等待磁盤I/O而導緻空閑狀态消耗時間的比例;
%steal:利用Xen等作業系統虛拟化技術時,等待其他虛拟CPU計算占用的時間比例;
%idle:CPU沒有等待磁盤I/O等的空閑狀态消耗的時間比例;
注:
如果 %iowait 的值過高,表示硬碟存在I/O瓶頸
如果 %idle 的值高但系統響應慢時,有可能是 CPU 等待配置設定記憶體,此時應加大記憶體容量
如果 %idle 的值持續低于 10,則系統的 CPU 處理能力相對較低,表明系統中最需要解決的資源是 CPU。
sar –q 檢視平均負荷
[[email protected] ~]# sar -q
Linux 2.6.18-194.26.1.el5 (localhost) 2012年04月29日
09時39分42秒 LINUX RESTART
09時40分01秒 runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15
09時50分01秒 0 152 0.00 0.02 0.05
10時00分01秒 0 152 0.00 0.00 0.00
10時10分01秒 0 156 0.39 0.09 0.03
10時20分01秒 0 151 0.00 0.03 0.01
10時30分01秒 0 151 0.00 0.00 0.00
10時40分01秒 0 151 0.00 0.00 0.00
10時50分01秒 0 151 0.00 0.00 0.00
Average: 0 152 0.06 0.02 0.01
runq-sz: 運作隊列的長度(等待運作的程序數)
plist-sz: 程序清單中程序(processes)和線程(threads)的數量
ldavg-1: 最後1分鐘的系統平均負載(System load average)
ldavg-5: 過去5分鐘的系統平均負載
ldavg-15: 過去15分鐘的系統平均負載
sar –r 檢視記憶體使用情況
[[email protected] ~]# sar -r
Linux 2.6.18-194.26.1.el5 (localhost) 2012年04月29日
09時39分42秒 LINUX RESTART
09時40分01秒 kbmemfree kbmemused %memused kbbuffers kbcached kbswpfree kbswpused %swpused kbswpcad
09時50分01秒 481572 553492 53.47 35592 384508 2097144 0 0.00 0
10時00分01秒 480960 554104 53.53 36032 384512 2097144 0 0.00 0
10時10分01秒 404952 630112 60.88 77764 399432 2097144 0 0.00 0
10時20分01秒 375824 659240 63.69 87356 410892 2097144 0 0.00 0
10時30分01秒 371860 663204 64.07 87756 411064 2097144 0 0.00 0
…
kbmemfree:空閑實體記憶體量;
kbmemused:使用中的實體記憶體量;
%memused:實體記憶體量使用率;
kbbuffers:核心中作為緩沖區使用的實體記憶體容量;
kbcacheed:核心中作為緩存使用的實體記憶體容量;
kbswpfree:交換區的空閑容量;
kbswpused:使用中的交換區容量;
sar –W 檢視頁面交換發生狀況
[[email protected] ~]# sar -W
14時30分01秒 pswpin/s pswpout/s
14時40分01秒 0.00 0.00
14時50分01秒 0.00 0.00
15時00分01秒 0.00 0.00
Average: 0.00 0.00
…
sar –b 檢視I/O和傳送速率的統計資訊
[[email protected] ~]# sar -b 1 5
Linux 2.6.18-194.26.1.el5 (localhost) 2012年04月29日
15時08分18秒 tps rtps wtps bread/s bwrtn/s
15時08分19秒 0.00 0.00 0.00 0.00 0.00
15時08分20秒 0.00 0.00 0.00 0.00 0.00
15時08分21秒 0.00 0.00 0.00 0.00 0.00
15時08分22秒 13.27 0.00 13.27 0.00 220.41
15時08分23秒 0.00 0.00 0.00 0.00 0.00
Average: 2.66 0.00 2.66 0.00 44.17
tps: 每秒鐘實體裝置的 I/O 傳輸總量
rtps: 每秒鐘從實體裝置讀入的資料總量
wtps: 每秒鐘向實體裝置寫入的資料總量
bread/s: 每秒鐘從實體裝置讀入的資料量,機關為 塊/s
bwrtn/s: 每秒鐘向實體裝置寫入的資料量,機關為 塊/s
其他還有:
sar –c 每秒鐘建立的程序數
sar -n DEV 輸出網絡裝置狀态的統計資訊
注:預設情況是對過去時間段進行資料統計,一般從最近的0:00開始顯示。如果想繼續檢視一天前的報告,可以用-f選項指定儲存在/var/log/sa目錄下的日志檔案中。如果想周期性的檢視目前資料可以指令後面加上數字參數,如sar –q 1 3 ,表示:1秒1次,共3次。
2.分析網卡流量
sar 提供六種不同的文法選項來顯示網絡資訊。-n選項使用6個不同的開關:DEV | EDEV | NFS | NFSD | SOCK | ALL 。DEV顯示網絡接口資訊,EDEV顯示關于網絡錯誤的統計資料,NFS統計活動的NFS用戶端的資訊,NFSD統計NFS伺服器的資訊,SOCK顯示套接字資訊,ALL顯示所有5個開關。它們可以單獨或者一起使用。
#sar -n DEV 2 10
Linux 2.6.18-53.el5PAE (localhost.localdomain) 03/29/2009
01:39:40 AM IFACE rxpck/s txpck/s rxbyt/s txbyt/s rxcmp/s txcmp/s rxmcst/s
01:39:42 AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
01:39:42 AM eth1 131.34 104.98 119704.48 36110.45 0.00 0.00 0.00
01:39:42 AM sit0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
01:39:42 AM IFACE rxpck/s txpck/s rxbyt/s txbyt/s rxcmp/s txcmp/s rxmcst/s
01:39:44 AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
01:39:44 AM eth1 168.00 165.50 114496.50 83938.50 0.00 0.00 0.00
01:39:44 AM sit0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
IFACE:LAN接口
rxpck/s:每秒鐘接收的資料包
txpck/s:每秒鐘發送的資料包
rxbyt/s:每秒鐘接收的位元組數
txbyt/s:每秒鐘發送的位元組數
rxcmp/s:每秒鐘接收的壓縮資料包
txcmp/s:每秒鐘發送的壓縮資料包
rxmcst/s:每秒鐘接收的多點傳播資料包
#sar -n EDEV 2 10
Linux 2.6.18-53.el5PAE (localhost.localdomain) 03/29/2009
www.2cto.com
01:42:18 AM IFACE rxerr/s txerr/s coll/s rxdrop/s txdrop/s txcarr/s rxfram/s rxfifo/s txfifo/s
01:42:20 AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
01:42:20 AM eth1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
01:42:20 AM sit0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
IFACE:LAN接口
rxerr/s:每秒鐘接收的壞資料包
txerr/s:每秒鐘發送的壞資料包
coll/s:每秒沖突數
rxdrop/s:因為緩沖充滿,每秒鐘丢棄的已接收資料包數
txdrop/s:因為緩沖充滿,每秒鐘丢棄的已發送資料包數
txcarr/s:發送資料包時,每秒載波錯誤數
rxfram/s:每秒接收資料包的幀對齊錯誤數
rxfifo/s:接收的資料包每秒FIFO過速的錯誤數
txfifo/s:發送的資料包每秒FIFO過速的錯誤數
#sar -n SOCK 2 10
Linux 2.6.18-53.el5PAE (localhost.localdomain) 03/29/2009
www.2cto.com
01:44:32 AM totsck tcpsck udpsck rawsck ip-frag
01:44:34 AM 243 9 8 0 0
01:44:36 AM 242 9 7 0 0
01:44:38 AM 238 9 7 0 0
01:44:40 AM 238 9 7 0 0
totsck:使用的套接字總數量
tcpsck:使用的TCP套接字數量
udpsck:使用的UDP套接字數量
rawsck:使用的raw套接字數量
ip-frag:使用的IP段數量