安裝sysstat rpm包就有iostat、mpstat、sar、sa的功能,rpm –Uvh sysstat*
天水網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián),天水網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為天水上千提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站制作要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的天水做網(wǎng)站的公司定做!
另一個(gè)用于獲取 CPU 相關(guān)統(tǒng)計(jì)信息的有用的命令是 mpstat。下面是一個(gè)示例輸出:
# mpstat -P ALL 5 2
Linux 2.6.9-67.ELsmp (oraclerac1) 12/20/2008
10:42:38 PM CPU %user %nice %system %iowait %irq %soft %idle intr/s
10:42:43 PM all 6.89 0.00 44.76 0.10 0.10 0.10 48.05 1121.60
10:42:43 PM 0 9.20 0.00 49.00 0.00 0.00 0.20 41.60 413.00
10:42:43 PM 1 4.60 0.00 40.60 0.00 0.20 0.20 54.60 708.40
10:42:43 PM CPU %user %nice %system %iowait %irq %soft %idle intr/s
10:42:48 PM all 7.60 0.00 45.30 0.30 0.00 0.10 46.70 1195.01
10:42:48 PM 0 4.19 0.00 2.20 0.40 0.00 0.00 93.21 1034.53
10:42:48 PM 1 10.78 0.00 88.22 0.40 0.00 0.00 0.20 160.48
Average: CPU %user %nice %system %iowait %irq %soft %idle intr/s
Average: all 7.25 0.00 45.03 0.20 0.05 0.10 47.38 1158.34
Average: 0 6.69 0.00 25.57 0.20 0.00 0.10 67.43 724.08
Average: 1 7.69 0.00 64.44 0.20 0.10 0.10 27.37 434.17
它顯示了系統(tǒng)中 CPU 的各種統(tǒng)計(jì)信息。–P ALL 選項(xiàng)指示該命令顯示所有 CPU 的統(tǒng)計(jì)信息,而不只是特定 CPU 的統(tǒng)計(jì)信息。參數(shù) 5 2 指示該命令每隔 5 秒運(yùn)行一次,共運(yùn)行 2次。以上輸出首先顯示了所有 CPU 的合計(jì)指標(biāo),然后顯示了每個(gè) CPU 各自的指標(biāo)。最后,在結(jié)尾處顯示所有 CPU 的平均值。
讓我們看一看這些列值的含義:
%user 表示處理用戶進(jìn)程所使用 CPU 的百分比。用戶進(jìn)程是用于應(yīng)用程序(如 Oracle 數(shù)據(jù)庫)的非內(nèi)核進(jìn)程。在本示例輸出中,用戶 CPU 百分比非常低。
%nice 表示使用 nice 命令對(duì)進(jìn)程進(jìn)行降級(jí)時(shí) CPU 的百分比。在之前的部分中已經(jīng)對(duì) nice 命令進(jìn)行了介紹。簡單來說,nice 命令更改進(jìn)程的優(yōu)先級(jí)。
%system 表示內(nèi)核進(jìn)程使用的 CPU 百分比
%iowait 表示等待進(jìn)行 I/O 所使用的 CPU 時(shí)間百分比
%irq 表示用于處理系統(tǒng)中斷的 CPU 百分比
%soft 表示用于軟件中斷的 CPU 百分比
%idle 顯示 CPU 的空閑時(shí)間
%intr/s 顯示每秒 CPU 接收的中斷總數(shù)
當(dāng)您擁有前面所述的 vmstat 時(shí),您可能想知道 mpstat 命令的作用。差別很大:mpstat 可以顯示每個(gè)處理器的統(tǒng)計(jì),而vmstat 顯示所有處理器的統(tǒng)計(jì)。因此,編寫糟糕的應(yīng)用程序(不使用多線程體系結(jié)構(gòu))可能會(huì)運(yùn)行在一個(gè)多處理器機(jī)器上,而不使用所有處理器。從而導(dǎo)致一個(gè) CPU 過載,而其他 CPU 卻很空閑。通過 mpstat 可以輕松診斷這些類型的問題。
針對(duì) Oracle 用戶的用法 與 vmstat 相似,mpstat 命令還產(chǎn)生與 CPU 有關(guān)的統(tǒng)計(jì)信息,因此所有與CPU 問題有關(guān)的討論也都適用于 mpstat。
當(dāng)您看到較低的 %idle 數(shù)字時(shí),您知道出現(xiàn)了 CPU 不足的問題。當(dāng)您看到較高的 %iowait 數(shù)字時(shí),您知道在當(dāng)前負(fù)載下 I/O 子系統(tǒng)出現(xiàn)了某些問題。該信息對(duì)于解決 Oracle 數(shù)據(jù)庫性能問題非常方便。
Sar以下命令都可以interval count參數(shù)
[root@daidai ~]# sar -u 2 2
Linux 2.6.18-194.el5 (daidai.com) 06/20/2016
11:14:10 AM CPU %user %nice %system %iowait %steal %idle
11:14:12 AM all 0.25 0.00 0.00 0.25 0.00 99.49
11:14:14 AM all 0.00 0.50 0.76 0.00 0.00 98.74
Average: all 0.13 0.25 0.38 0.13 0.00 99.12
CPU all 表示統(tǒng)計(jì)信息為所有 CPU 的平均值。
%user 顯示在用戶級(jí)別(application)運(yùn)行使用 CPU 總時(shí)間的百分比。
%nice 顯示在用戶級(jí)別,用于nice操作,所占用 CPU 總時(shí)間的百分比。
%system 在核心級(jí)別(kernel)運(yùn)行所使用 CPU 總時(shí)間的百分比。
%iowait 顯示用于等待I/O操作占用 CPU 總時(shí)間的百分比。
%steal 管理程序(hypervisor)為另一個(gè)虛擬進(jìn)程提供服務(wù)而等待虛擬 CPU 的百分比。
%idle 顯示 CPU 空閑時(shí)間占用 CPU 總時(shí)間的百分比。
tips:
若 %iowait 的值過高,表示硬盤存在I/O瓶頸
若 %idle 的值高但系統(tǒng)響應(yīng)慢時(shí),有可能是 CPU 等待分配內(nèi)存,此時(shí)應(yīng)加大內(nèi)存容量
若 %idle 的值持續(xù)低于 10,則系統(tǒng)的 CPU 處理能力相對(duì)較低,表明系統(tǒng)中最需要解決的資源是 CPU。
[root@daidai ~]# sar -b 2 3
Linux 2.6.18-194.el5 (daidai.com) 06/20/2016
11:31:08 AM tps rtps wtps bread/s bwrtn/s
11:31:10 AM 3.03 0.00 3.03 0.00 129.29
11:31:12 AM 3.03 0.00 3.03 0.00 64.65
11:31:14 AM 3.05 0.00 3.05 0.00 64.97
Average: 3.04 0.00 3.04 0.00 86.34
tps 每秒鐘物理設(shè)備的 I/O 傳輸總量
rtps 每秒鐘從物理設(shè)備讀入的數(shù)據(jù)總量
wtps 每秒鐘向物理設(shè)備寫入的數(shù)據(jù)總量
bread/s 每秒鐘從物理設(shè)備讀入的數(shù)據(jù)量,單位為 塊/s
bwrtn/s 每秒鐘向物理設(shè)備寫入的數(shù)據(jù)量,單位為 塊/s
[root@daidai ~]# sar -c
Linux 2.6.18-194.el5 (daidai.com) 06/20/2016
09:50:01 AM proc/s
10:00:01 AM 0.38
10:10:01 AM 0.30
10:20:01 AM 0.30
10:30:01 AM 0.45
10:40:01 AM 0.30
11:20:01 AM 0.79
11:30:01 AM 0.28
Average: 0.43
每秒鐘創(chuàng)建的進(jìn)程數(shù)
[root@daidai ~]# sar -n DEV 1 2
Linux 2.6.18-194.el5 (daidai.com) 06/20/2016
11:39:34 AM IFACE rxpck/s txpck/s rxbyt/s txbyt/s rxcmp/s txcmp/s rxmcst/s
11:39:35 AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
11:39:35 AM eth0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
11:39:35 AM sit0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
11:39:35 AM IFACE rxpck/s txpck/s rxbyt/s txbyt/s rxcmp/s txcmp/s rxmcst/s
11:39:36 AM lo 2.04 2.04 102.04 102.04 0.00 0.00 0.00
11:39:36 AM eth0 3.06 5.10 183.67 867.35 0.00 0.00 0.00
11:39:36 AM sit0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: IFACE rxpck/s txpck/s rxbyt/s txbyt/s rxcmp/s txcmp/s rxmcst/s
Average: lo 1.02 1.02 50.76 50.76 0.00 0.00 0.00
Average: eth0 1.52 2.54 91.37 431.47 0.00 0.00 0.00
Average: sit0 0.00 0.00 0.00 0.00 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ù)
[root@daidai ~]# sar -q 1 3
Linux 2.6.18-194.el5 (daidai.com) 06/20/2016
11:42:54 AM runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15
11:42:55 AM 0 184 0.02 0.02 0.00
11:42:56 AM 0 184 0.02 0.02 0.00
11:42:57 AM 0 184 0.02 0.02 0.00
Average: 0 184 0.02 0.02 0.00
runq-sz 運(yùn)行隊(duì)列的長度(等待運(yùn)行的進(jìn)程數(shù))
plist-sz 進(jìn)程列表中進(jìn)程(processes)和線程(threads)的數(shù)量
ldavg-1 最后1分鐘的系統(tǒng)平均負(fù)載(System load average)
ldavg-5 過去5分鐘的系統(tǒng)平均負(fù)載
ldavg-15 過去15分鐘的系統(tǒng)平均負(fù)載
[root@daidai ~]# sar -r
Linux 2.6.18-194.el5 (daidai.com) 06/20/2016
09:50:01 AM kbmemfree kbmemused %memused kbbuffers kbcached kbswpfree kbswpused %swpused kbswpcad
10:00:01 AM 1067600 3869580 78.38 195616 3249408 10482404 0 0.00 0
10:10:01 AM 1068624 3868556 78.36 195616 3249500 10482404 0 0.00 0
10:20:01 AM 1069492 3867688 78.34 195616 3249572 10482404 0 0.00 0
10:30:01 AM 1079024 3858156 78.14 195616 3249588 10482404 0 0.00 0
10:40:01 AM 1079676 3857504 78.13 195616 3249616 10482404 0 0.00 0
11:20:01 AM 1083792 3853388 78.05 195616 3249952 10482404 0 0.00 0
11:30:01 AM 1083420 3853760 78.06 195616 3249984 10482404 0 0.00 0
11:40:01 AM 1084164 3853016 78.04 195616 3250008 10482404 0 0.00 0
Average: 1076974 3860206 78.19 195616 3249704 10482404 0 0.00 0
kbmemfree Amountof free memory available in kilobytes.
kbmemused Amount of used memory in kilobytes. This doesnot take into account memory used by the kernel itself.
%memused Percentage of used memory.
kbbuffers Amount of memory used as buffers by thekernel in kilobytes.
kbcached Amount of memory used to cache data by thekernel in kilobytes.
kbswpfree Amount of free swap space in kilobytes.
kbswpused Amount of used swap space in kilobytes.
%swpused Percentage of used swap space.
kbswpcad Amount of cached swap memory inkilobytes. This is memory that once was swappedout, is swapped back in but still also is in the swap area (if memory is neededit doesn’t need to be swapped out again because it is already in the swap area.This saves I/O).
[root@daidai ~]# iostat 1 3
Linux 2.6.18-194.el5 (daidai.com) 06/20/2016
avg-cpu: %user %nice %system %iowait %steal %idle
0.23 0.02 0.43 0.11 0.00 99.22
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 3.15 15.25 60.92 3462295 13828032
sda1 3.15 15.24 60.92 3460258 13828032
sda2 0.00 0.01 0.00 1613 0
sr0 0.00 0.01 0.00 1644 0
avg-cpu: %user %nice %system %iowait %steal %idle
0.51 0.00 0.51 0.00 0.00 98.98
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 0.00 0.00 0.00 0 0
sda1 0.00 0.00 0.00 0 0
sda2 0.00 0.00 0.00 0 0
sr0 0.00 0.00 0.00 0 0
avg-cpu: %user %nice %system %iowait %steal %idle
0.00 0.00 0.51 0.00 0.00 99.49
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 3.00 0.00 64.00 0 64
sda1 3.00 0.00 64.00 0 64
sda2 0.00 0.00 0.00 0 0
sr0 0.00 0.00 0.00 0 0
[root@daidai ~]# vmstat 1 5
procs -----------memory-------------swap-- -----io---- --system-- -----cpu------
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 1083368 1957003250136 0 0 4 16 24 41 0 0 99 0 0
0 0 0 1083368 1957003250136 0 0 0 40 998 205 1 1 99 0 0
0 0 0 1083368 195700 3250136 0 0 0 32 998 221 0 298 1 0
0 0 0 1089088 1957003250136 0 0 0 0 998 218 0 1 99 0 0
0 0 0 1089088 1957003250136 0 0 0 0 1004 191 0 0 100 0 0
Procs
r: The number of processes waiting forrun time.
b: The number of processes inuninterruptible sleep.
Memory
swpd: the amount of virtual memory used.
free: the amount of idle memory.
buff: the amount of memory used asbuffers.
cache: the amount of memory used ascache.
inact: the amount of inactive memory.(-a option)
active: the amount of active memory. (-aoption)
Swap
si: Amount of memory swapped in fromdisk (/s).
so: Amount of memory swapped to disk(/s).
IO
bi: Blocks received from a block device (blocks/s).
bo: Blocks sent to a block device(blocks/s).
System
in: The number of interrupts per second,including the clock.
cs: The number of context switches persecond.
CPU
These are percentages of total CPU time.
us: Time spent running non-kernel code.(user time, including nice time)
sy: Time spent running kernel code.(system time)
id: Time spent idle. Prior to Linux2.5.41, this includes IO-wait time.
wa: Time spent waiting for IO. Prior toLinux 2.5.41, included in idle.
st: Time stolen from a virtual machine.Prior to Linux 2.6.11, unknown.