閱讀406 返回首頁    go 中電雲集


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

  上一篇:go Squid防盜鏈
  下一篇:go 避免僵屍進程的三種方法