sysstat

使用yum安裝
#yum install sysstat

sysstat的安裝包是:sysstat-5.0.5-1.i386.rpm,裝完了sysstat-5.0.5-1.i386.rpm
后 就會有iostat、mpstat、sar、sa的功能,sysstat-5.0.5-1.i386.rpm

啟動sysstat
/etc/init.d/sysstat start

設置sysstat自啟動
#checkfig sysstat on

MPSTAT

MPSTAT -P ALL 2 3

 

mpstat是Multiprocessor Statistics的縮寫,是實時系統監控工具。其報告與CPU的一些統計信息,這些信息存放在/proc/stat文件中。在多CPUs系統里,其不 但能查看所有CPU的平均狀況信息,而且能夠查看特定CPU的信息。下面只介紹 mpstat與CPU相關的參數,mpstat的語法如下:

mpstat [-P {|ALL}] [internal [count]]

參數的含義如下:

參數 解釋

-P {|ALL} 表示監控哪個CPU, cpu在[0,cpu個數-1]中取值

internal 相鄰的兩次采樣的間隔時間

count 采樣的次數,count只能和delay一起使用

當沒有參數時,mpstat則顯示系統啟動以后所有信息的平均值。有interval時,第 一行的信息自系統啟動以來的平均信息。從第二行開始,輸出為前一個interval時間段的平均信息。與CPU有關的輸出的含義如下:

參數 解釋 從/proc/stat獲得數據

CPU 處理器ID

user 在internal時間段里,用戶態的CPU時間(%) ,不包含 nice值為負 進程 ?usr/?total*100

nice 在internal時間段里,nice值為負進程的CPU時間(%) ?nice/?total*100

system 在internal時間段里,核心時間(%) ?system/?total*100

iowait 在internal時間段里,硬盤IO等待時間(%) ?iowait/?total*100

irq 在internal時間段里,軟中斷時間(%) ?irq/?total*100

soft 在internal時間段里,軟中斷時間(%) ?softirq/?total*100

idle 在internal時間段里,CPU除去等待磁盤IO操作外的因為任何原因而空閑的時間閑置時間 (%) ?idle/?total*100

intr/s 在internal時間段里,每秒CPU接收的中斷的次數 ?intr/?total*100

CPU總的工作時 間=total_cur=user+system+nice+idle+iowait+irq+softirq

total_pre=pre_user+ pre_system+ pre_nice+ pre_idle+ pre_iowait+ pre_irq+ pre_softirq

?user=user_cur – user_pre

?total=total_cur-total_pre

其中_cur 表示當前值,_pre表示interval時間前的值。上表中的所有值可取到兩位小數點。

cat /proc/stat

“ctxt”給出了自系統啟動以來CPU發生的上下文交換的次數。

“btime”給出了從系統啟動到現在為止的時間,單位為秒。

“processes (total_forks) 自系統啟動以來所創建的任務的個數目。

“procs_running”:當前運行隊列的任務的數目。

“procs_blocked”:當前被阻塞的任務的數目。

============================

sysstat工具包提供的主要命令:iostat mpstat sar

sar的最后兩個參數一般是interval count

1、sar -u 1 5
輸出CPU使用情況的統計信息,每秒輸出一次,一共輸出100次
17時06分01秒       CPU     %user     %nice   %system   %iowait     %idle
17時06分02秒       all      1.27      0.00      0.51      1.01     97.22
17時06分03秒       all      0.00      0.00      0.00      0.00    100.00
17時06分04秒       all      0.00      0.00      0.00      0.00    100.00
17時06分05秒       all      0.25      0.00      0.00      0.00     99.75
17時06分06秒       all      0.00      0.00      0.00      0.51     99.49
Average:          all      0.30      0.00      0.10      0.30     99.29

CPU      all 表示統計信息為所有 CPU 的平均值。                                       
%user    顯示在用戶級別(application)運行使用 CPU 總時間的百分比。                  
%nice    顯示在用戶級別,用于nice操作,所占用 CPU 總時間的百分比。            
%system 在核心級別(kernel)運行所使用 CPU 總時間的百分比。      
%iowait 顯示用于等待I/O操作占用 CPU 總時間的百分比。
%steal   管理程序(hypervisor)為另一個虛擬進程提供服務而等待虛擬 CPU 的百分比。
%idle    顯示 CPU 空閑時間占用 CPU 總時間的百分比。

tips:
若 %iowait 的值過高,表示硬盤存在I/O瓶頸
若 %idle 的值高但系統響應慢時,有可能是 CPU 等待分配內存,此時應加大內存容量
若 %idle 的值持續低于 10,則系統的 CPU 處理能力相對較低,表明系統中最需要解決的資源是 CPU。

2、sar -b 1 5
顯示I/O和傳送速率的統計信息
17時09分07秒       tps      rtps      wtps   bread/s   bwrtn/s
17時09分08秒      3.12      3.12      0.00     25.00      0.00
17時09分09秒     89.58      6.25     83.33    141.67    733.33
17時09分10秒     42.71      9.38     33.33    141.67    600.00
17時09分11秒      2.11      2.11      0.00     16.84      0.00
17時09分12秒      1.04      0.00      1.04      0.00    175.00
Average:        27.77      4.18     23.59     65.14    302.30

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

3、sar -c
每秒鐘創建的進程數
15時10分01秒      1.35
15時20分01秒      1.01
15時30分01秒      0.59
15時40分01秒      1.35
15時50分01秒      0.99
16時00分01秒      0.57
16時10分01秒      1.33
16時20分01秒      1.02
16時30分01秒      0.57
16時40分01秒      1.33
16時50分01秒      1.07
17時00分01秒      0.56
17時10分01秒      1.32

4、sar -n DEV 1 5
輸出網絡設備狀態的統計信息
17時13分42秒     IFACE   rxpck/s   txpck/s   rxbyt/s   txbyt/s   rxcmp/s   txcmp/s rxmcst/s
17時13分43秒      eth1   3669.70   4156.57 368362.63 2747714.14      0.00      0.00      0.00
17時13分44秒      eth1   2689.11   2585.15 289661.39 701461.39      0.00      0.00      0.00
17時13分45秒      eth1   3746.00   4077.00 415178.00 2605720.00      0.00      0.00      0.00
17時13分46秒      eth1   3096.00   3241.00 327916.00 1597320.00      0.00      0.00      0.00
17時13分47秒      eth1   2910.00   2834.00 312632.00 957903.00      0.00      0.00      0.00
Average:         eth1   3220.20   3375.60 342592.60 1717931.20      0.00      0.00      0.00

IFACE      網絡設備名                          
rxpck/s    每秒接收的包總數                 
txpck/s    每秒傳輸的包總數                  
rxbyt/s    每秒接收的字節(byte)總數        
txbyt/s    每秒傳輸的字節(byte)總數        
rxcmp/s    每秒接收壓縮包的總數              
txcmp/s    每秒傳輸壓縮包的總數              
rxmcst/s   每秒接收的多播(multicast)包的總數

5、sar -q 1 5
輸出進程隊列長度和平均負載狀態統計信息
17時16分28秒   runq-sz plist-sz   ldavg-1   ldavg-5 ldavg-15
17時16分29秒         0       160      0.26      0.11      0.03
17時16分30秒         0       160      0.26      0.11      0.03
17時16分31秒         0       160      0.24      0.11      0.03
17時16分32秒         0       160      0.24      0.11      0.03
17時16分33秒         0       160      0.24      0.11      0.03
Average:            0       160      0.25      0.11      0.03

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

6、sar -r
輸出內存和交換空間的統計信息
7、iostat
tps 每秒鐘物理設備的 I/O 傳輸總 量。                                                                                          
Blk_read 讀入的數據總量,單位為 塊。                                                                                          
Blk_wrtn 寫入的數據總量,單位為 塊。                                                                                          
kB_read 讀入的數據總量,單位為 KB。                                                                                           
kB_wrtn 寫入的數據總量,單位為 KB。                                                                                           
MB_read 讀入的數據總量,單位為 MB。                                                                                           
MB_wrtn 寫入的數據總量,單位為 MB。                                                                                           
Blk_read/s 每秒從驅動器讀入的數據量,單位為 塊 /s。                                                                           
Blk_wrtn/s 每秒向驅動器寫入的數據量,單位為 塊 /s。                                                                           
kB_read/s 每秒從驅動器讀入的數據量,單位為 KB/s。                                                                             
kB_wrtn/s 每秒向驅動器寫入的數據量,單位為 KB/s。                                                                             
MB_read/s 每秒從驅動器讀入的數據量,單位為 MB/s。                                                                             
MB_wrtn/s 每秒向驅動器寫入的數據量,單位為MB/s。
rrqm/s 將讀入請求合并后,每秒發送到設備的讀入請求數。   
wrqm/s 將寫入請求合并后,每秒發送到設備的寫入請求數。
r/s 每秒發送到設備的讀入請求 數。                                                                                             
w/s 每秒發送到設備的寫入請求 數。                                                                                             
rsec/s 每秒從設備讀入的扇區 數。                                                                                              
wsec/s 每秒向設備寫入的扇區 數。                                                                                              
rkB/s 每秒從設備讀入的數據量,單位為 KB/s。                                                                                  
wkB/s 每秒向設備寫入的數據量,單位為 KB/s。                                                                                  
rMB/s 每秒從設備讀入的數據量,單位為 MB/s。                                                                                  
wMB/s 每秒向設備寫入的數據量,單位為 MB/s。                                                                                  
avgrq-sz 發送到設備的請求的平均大小,單位為扇 區。                                                                            
avgqu-sz 發送到設備的請求的平均隊列長 度。                                                                                    
await I/O請求平均執行時間。包括發送請求和執行的時間。單位為毫 秒。                                                   
svctm 發送到設備的I/O請求的平均執行時間。單位為毫 秒。                                                                      
%util 在I/O請求發送到設備期間,占用CPU時間的百分比。用于顯示設備的帶寬利用率。當這個值接近100%時,表示設備帶寬已經占滿。