406
中電雲集
linux 安裝sysstat使用iostat、mpstat、sar、sa
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%時,表示設備帶寬已經占滿。
最後更新:2017-01-04 22:34:34