天天看點

linux sar

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段數量