AIX系统CPU性能评估-1
本文對(duì)cpu性能的命令作了詳細(xì)介紹,并給出了對(duì)于系統(tǒng)cpu監(jiān)控的建議。
1、vmstat
使用vmstat來進(jìn)行性能評(píng)估,該命令可獲得關(guān)于系統(tǒng)各種資源之間的相關(guān)性能的簡要信息。當(dāng)然我們也主要用它來看CPU的一個(gè)負(fù)載情況。
下面是我們調(diào)用vmstat命令的一個(gè)輸出結(jié)果:
?
| $vmstat 1 2 System configuration: lcpu=16 mem=23552MB kthr memory page faults cpu ----- ----------- ------------------------ ----------------- ----------- r b avm fre re pi po fr sr cy in sy cs us sy id wa 0 0 3091988 2741152 0 0 0 0 0 0 1849 26129 4907 8 1 88 3 0 0 3091989 2741151 0 0 0 0 0 0 2527 32013 6561 15 2 77 6 |
?
對(duì)上面的命令解釋如下:
Kthr段顯示內(nèi)容
¨ r列表示可運(yùn)行的內(nèi)核線程平均數(shù)目,包括正在運(yùn)行的線程和等待 CPU 的線程。如果這個(gè)數(shù)字大于 CPU 的數(shù)目,則表明有線程需要等待CPU。
¨ b列表示處在非中斷睡眠狀態(tài)的進(jìn)程數(shù)。包括正在等待文件系統(tǒng) I/O 的線程,或由于內(nèi)存裝入控制而被掛起的線程。
Memory段顯示內(nèi)容
¨ avm列表示活動(dòng)虛擬內(nèi)存的頁面數(shù),每頁一般4KB
¨ fre空閑的頁面數(shù),每頁一般4KB
Page段顯示內(nèi)容
¨ re –該列無效
¨ pi 從磁盤交換到內(nèi)存的交換頁(調(diào)頁空間)數(shù)量,4KB/頁。調(diào)頁空間是駐留在硬盤上的虛擬內(nèi)存的一部分。當(dāng)內(nèi)存使用過量時(shí),會(huì)將溢出的工作組頁面存儲(chǔ)到調(diào)頁空間中(竊取頁)。當(dāng)進(jìn)程訪問一個(gè)竊取頁時(shí),就產(chǎn)生了一個(gè)缺頁故障,而這一頁頁必須從調(diào)頁空間中讀入到內(nèi)存中。
¨ po 從內(nèi)存交換到磁盤的交換頁數(shù)量,4KB/頁。如果竊取的工作也在調(diào)頁空間中不存在或者已經(jīng)作了修改,則寫入調(diào)頁空間中。如果不被再次訪問,它會(huì)留在調(diào)度空間中直到進(jìn)程終止或者放棄空間。
¨ fr 根據(jù)頁面替換算法每秒釋放的頁數(shù)。當(dāng)VMM頁面替換例程掃描頁面幀表(Page Frame Table,PFT)時(shí),它會(huì)根據(jù)一些條件選取需要竊取的頁面以補(bǔ)充空閑列表。該條件中包含工作頁面和計(jì)算頁面,釋放的頁面中,計(jì)算頁面不產(chǎn)生I/O,工作頁面如果數(shù)據(jù)沒有發(fā)生修改,也不需要寫回磁盤,也不會(huì)產(chǎn)生I/O。
¨ sr 根據(jù)頁面替換算法每秒所檢查的頁數(shù)。sr值比fr值高的越多,說明替換算法要查找可以替換的頁面就越困難。
¨ cy 每秒頁面替換代碼掃描了PFT多少次。因?yàn)樵黾涌臻e列表達(dá)到maxfree值,不一定需要完全掃描PFT表,而所有vmstat輸出都為整數(shù),所以通常cy列值為0。
Faults段顯示內(nèi)容(其實(shí)這段內(nèi)容不需太多關(guān)注)
¨ in 在該時(shí)間間隔中觀測(cè)到的每秒設(shè)備中斷數(shù)。
¨ sy 在該時(shí)間間隔中觀測(cè)到的每秒系統(tǒng)調(diào)用次數(shù)。
¨ cs 在該時(shí)間間隔中觀測(cè)到的每秒鐘上下文切換次數(shù)。
Cpu段顯示內(nèi)容
¨ us 列顯示了用戶模式所消耗的 CPU 時(shí)間。
¨ sy 列詳細(xì)顯示了 CPU 在系統(tǒng)模式所消耗的 CPU 時(shí)間。
¨ id 列顯示了沒有未決本地磁盤 I/O 時(shí) CPU 空閑或等待時(shí)間的百分比。
¨ wa 列詳細(xì)顯示了有未決本地磁盤 I/O 時(shí) CPU 空閑的時(shí)間百分比。wa 的值如果超過 25%,就表明磁盤子系統(tǒng)可能沒有被正確平衡,或者這也可能是磁盤工作負(fù)荷很重的結(jié)果。
如果在一個(gè)單用戶系統(tǒng)中,us + sy時(shí)間不超過 90%,我們就不認(rèn)為系統(tǒng)的CPU是受限制的。
如果在一個(gè)多用戶系統(tǒng)中,us + sy時(shí)間超過 80%, 我們就認(rèn)為系統(tǒng)的CPU是受限的。其中的進(jìn)程將要花時(shí)間在運(yùn)行隊(duì)列中等待。響應(yīng)時(shí)間和吞吐量會(huì)受損害。
檢查cpu,我們主要關(guān)注報(bào)告中的4個(gè)cpu列和2個(gè)kthr(內(nèi)核線程)列。
在上面的示例中,我們可以觀察到以下幾個(gè)主要的信息:
CPU IDLE比較高,比較空閑;r列為0,表明線程不存在等待;
WA值不高,說明I/O壓力不大;
free值比較大,pi,po為0,表明內(nèi)存非常富裕。空閑較多。
2、sar
第二個(gè)常用的是 sar命令,但是sar會(huì)增加系統(tǒng)的開銷。當(dāng)然有些情況下,我們使用sar比較方便。
sar的輸出結(jié)果與前面的基本類似,這里不再作詳細(xì)的介紹,關(guān)于命令的語法,也不再作詳細(xì)的介紹,我們常用的命令格式:
?
| #sar 1 3 AIX jsdxh_db02 3 5 00C2C1EB4C00 10/24/07 System configuration: lcpu=16 17:52:26 %usr %sys %wio %idle physc Average 19 7 0 75 8.01 |
?
在這里,sar命令輸出的是一個(gè)整體的cpu使用情況的一個(gè)統(tǒng)計(jì),統(tǒng)計(jì)分項(xiàng)目的內(nèi)容也比較直觀,通過名字就可以理解涵義。這里有一點(diǎn)比較方便的就是,在最后一行有一個(gè)匯總的average行,作為上述統(tǒng)計(jì)的一個(gè)平均。另外,補(bǔ)充說明一點(diǎn)的就是,一般來說,第一行統(tǒng)計(jì)信息包含了sar命令本身啟動(dòng)的cpu消耗,所以往往是偏高的,所以導(dǎo)致average值也往往是偏高一點(diǎn)的。當(dāng)然,這不會(huì)對(duì)結(jié)果產(chǎn)生多大影響。
當(dāng)我們有多個(gè)cpu的時(shí)候,而程序采用的是單線程,有時(shí)候會(huì)出現(xiàn)一種情況,我們檢查發(fā)現(xiàn),cpu總體的使用率不高,但是程序響應(yīng)卻比較慢。這里有可能就是單線程只使用了一個(gè)cpu,導(dǎo)致這個(gè)cpu100%占用,處理不過來,而其他的cpu卻閑置。這時(shí)可以對(duì)cpu分開查詢,統(tǒng)計(jì)每個(gè)cpu的使用情況。
?
| #sar -P ALL 1 2 AIX jsdxh_db02 3 5 00C2C1EB4C00 10/24/07 System configuration: lcpu=16 18:03:30 cpu %usr %sys %wio %idle physc Average 0 0 70 0 30 0.00 |
?
上面是分cpu統(tǒng)計(jì)的情況,結(jié)果應(yīng)該也比較直觀吧。
Sar還有其他一些比較特殊的使用方法,比如:
如果希望多個(gè)采樣和多個(gè)報(bào)告,可為 sar 命令指定一個(gè)輸出文件,這樣就方便多了。將 sar 命令的標(biāo)準(zhǔn)輸出數(shù)據(jù)定向到 /dev/null,并將 sar 命令作為后臺(tái)進(jìn)程運(yùn)行。具體的命令格式為:
?
| sar -A -o /temp/sar_result.log 5 300 > /dev/null & |
?
關(guān)于sar其他的一些使用方法,這里不再詳述。
轉(zhuǎn)載于:https://blog.51cto.com/hzzzguo/664185
總結(jié)
以上是生活随笔為你收集整理的AIX系统CPU性能评估-1的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: POJ3461 Oulipo ——KMP
- 下一篇: 泰国BNH医院怎么样,怎么预约医生?