MPSTAT
MPSTAT -P ALL 2 3
mpstat是Multiprocessor Statistics的縮寫,是實時系統(tǒng)監(jiān)控工具。其報告與CPU的一些統(tǒng)計信息,這些信息存放在/proc/stat文件中。在多CPUs系統(tǒng)里,其不 但能查看所有CPU的平均狀況信息,而且能夠查看特定CPU的信息。下面只介紹 mpstat與CPU相關(guān)的參數(shù),mpstat的語法如下:
mpstat [-P {|ALL}] [internal [count]]
參數(shù)的含義如下:
參數(shù) 解釋
-P {|ALL} 表示監(jiān)控哪個CPU, cpu在[0,cpu個數(shù)-1]中取值
internal 相鄰的兩次采樣的間隔時間
count 采樣的次數(shù),count只能和delay一起使用
當沒有參數(shù)時,mpstat則顯示系統(tǒng)啟動以后所有信息的平均值。有interval時,第 一行的信息自系統(tǒng)啟動以來的平均信息。從第二行開始,輸出為前一個interval時間段的平均信息。與CPU有關(guān)的輸出的含義如下:
參數(shù) 解釋 從/proc/stat獲得數(shù)據(jù)
CPU 處理器ID
user 在internal時間段里,用戶態(tài)的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接收的中斷的次數(shù) ?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時間前的值。上表中的所有值可取到兩位小數(shù)點。
cat /proc/stat
“ctxt”給出了自系統(tǒng)啟動以來CPU發(fā)生的上下文交換的次數(shù)。
“btime”給出了從系統(tǒng)啟動到現(xiàn)在為止的時間,單位為秒。
“processes (total_forks) 自系統(tǒng)啟動以來所創(chuàng)建的任務(wù)的個數(shù)目。
“procs_running”:當前運行隊列的任務(wù)的數(shù)目。
“procs_blocked”:當前被阻塞的任務(wù)的數(shù)目。
============================
sysstat工具包提供的主要命令:iostat mpstat sar
sar的最后兩個參數(shù)一般是interval count
1、sar -u 1 5
輸出CPU使用情況的統(tǒng)計信息,每秒輸出一次,一共輸出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 表示統(tǒng)計信息為所有 CPU 的平均值。
%user 顯示在用戶級別(application)運行使用 CPU 總時間的百分比。
%nice 顯示在用戶級別,用于nice操作,所占用 CPU 總時間的百分比。
%system 在核心級別(kernel)運行所使用 CPU 總時間的百分比。
%iowait 顯示用于等待I/O操作占用 CPU 總時間的百分比。
%steal 管理程序(hypervisor)為另一個虛擬進程提供服務(wù)而等待虛擬 CPU 的百分比。
%idle 顯示 CPU 空閑時間占用 CPU 總時間的百分比。
tips:
若 %iowait 的值過高,表示硬盤存在I/O瓶頸
若 %idle 的值高但系統(tǒng)響應(yīng)慢時,有可能是 CPU 等待分配內(nèi)存,此時應(yīng)加大內(nèi)存容量
若 %idle 的值持續(xù)低于 10,則系統(tǒng)的 CPU 處理能力相對較低,表明系統(tǒng)中最需要解決的資源是 CPU。
2、sar -b 1 5
顯示I/O和傳送速率的統(tǒng)計信息
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 每秒鐘物理設(shè)備的 I/O 傳輸總量
rtps 每秒鐘從物理設(shè)備讀入的數(shù)據(jù)總量
wtps 每秒鐘向物理設(shè)備寫入的數(shù)據(jù)總量
bread/s 每秒鐘從物理設(shè)備讀入的數(shù)據(jù)量,單位為 塊/s
bwrtn/s 每秒鐘向物理設(shè)備寫入的數(shù)據(jù)量,單位為 塊/s
3、sar -c
每秒鐘創(chuàng)建的進程數(shù)
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
輸出網(wǎng)絡(luò)設(shè)備狀態(tài)的統(tǒng)計信息
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 網(wǎng)絡(luò)設(shè)備名
rxpck/s 每秒接收的包總數(shù)
txpck/s 每秒傳輸?shù)陌倲?shù)
rxbyt/s 每秒接收的字節(jié)(byte)總數(shù)
txbyt/s 每秒傳輸?shù)淖止?jié)(byte)總數(shù)
rxcmp/s 每秒接收壓縮包的總數(shù)
txcmp/s 每秒傳輸壓縮包的總數(shù)
rxmcst/s 每秒接收的多播(multicast)包的總數(shù)
5、sar -q 1 5
輸出進程隊列長度和平均負載狀態(tài)統(tǒng)計信息
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 運行隊列的長度(等待運行的進程數(shù))
plist-sz 進程列表中進程(processes)和線程(threads)的數(shù)量
ldavg-1 最后1分鐘的系統(tǒng)平均負載(System load average)
ldavg-5 過去5分鐘的系統(tǒng)平均負載
ldavg-15 過去15分鐘的系統(tǒng)平均負載
6、sar -r
輸出內(nèi)存和交換空間的統(tǒng)計信息
7、iostat
tps 每秒鐘物理設(shè)備的 I/O 傳輸總 量。
Blk_read 讀入的數(shù)據(jù)總量,單位為 塊。
Blk_wrtn 寫入的數(shù)據(jù)總量,單位為 塊。
kB_read 讀入的數(shù)據(jù)總量,單位為 KB。
kB_wrtn 寫入的數(shù)據(jù)總量,單位為 KB。
MB_read 讀入的數(shù)據(jù)總量,單位為 MB。
MB_wrtn 寫入的數(shù)據(jù)總量,單位為 MB。
Blk_read/s 每秒從驅(qū)動器讀入的數(shù)據(jù)量,單位為 塊 /s。
Blk_wrtn/s 每秒向驅(qū)動器寫入的數(shù)據(jù)量,單位為 塊 /s。
kB_read/s 每秒從驅(qū)動器讀入的數(shù)據(jù)量,單位為 KB/s。
kB_wrtn/s 每秒向驅(qū)動器寫入的數(shù)據(jù)量,單位為 KB/s。
MB_read/s 每秒從驅(qū)動器讀入的數(shù)據(jù)量,單位為 MB/s。
MB_wrtn/s 每秒向驅(qū)動器寫入的數(shù)據(jù)量,單位為MB/s。
rrqm/s 將讀入請求合并后,每秒發(fā)送到設(shè)備的讀入請求數(shù)。
wrqm/s 將寫入請求合并后,每秒發(fā)送到設(shè)備的寫入請求數(shù)。
r/s 每秒發(fā)送到設(shè)備的讀入請求 數(shù)。
w/s 每秒發(fā)送到設(shè)備的寫入請求 數(shù)。
rsec/s 每秒從設(shè)備讀入的扇區(qū) 數(shù)。
wsec/s 每秒向設(shè)備寫入的扇區(qū) 數(shù)。
rkB/s 每秒從設(shè)備讀入的數(shù)據(jù)量,單位為 KB/s。
wkB/s 每秒向設(shè)備寫入的數(shù)據(jù)量,單位為 KB/s。
rMB/s 每秒從設(shè)備讀入的數(shù)據(jù)量,單位為 MB/s。
wMB/s 每秒向設(shè)備寫入的數(shù)據(jù)量,單位為 MB/s。
avgrq-sz 發(fā)送到設(shè)備的請求的平均大小,單位為扇 區(qū)。
avgqu-sz 發(fā)送到設(shè)備的請求的平均隊列長 度。
await I/O請求平均執(zhí)行時間。包括發(fā)送請求和執(zhí)行的時間。單位為毫 秒。
svctm 發(fā)送到設(shè)備的I/O請求的平均執(zhí)行時間。單位為毫 秒。
%util 在I/O請求發(fā)送到設(shè)備期間,占用CPU時間的百分比。用于顯示設(shè)備的帶寬利用率。當這個值接近100%時,表示設(shè)備帶寬已經(jīng)占滿。