AIX系统CPU性能评估-1
本文對cpu性能的命令作了詳細介紹,并給出了對于系統(tǒng)cpu監(jiān)控的建議。
1、vmstat
使用vmstat來進行性能評估,該命令可獲得關(guān)于系統(tǒng)各種資源之間的相關(guān)性能的簡要信息。當然我們也主要用它來看CPU的一個負載情況。
下面是我們調(diào)用vmstat命令的一個輸出結(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 |
?
對上面的命令解釋如下:
Kthr段顯示內(nèi)容
¨ r列表示可運行的內(nèi)核線程平均數(shù)目,包括正在運行的線程和等待 CPU 的線程。如果這個數(shù)字大于 CPU 的數(shù)目,則表明有線程需要等待CPU。
¨ b列表示處在非中斷睡眠狀態(tài)的進程數(shù)。包括正在等待文件系統(tǒng) I/O 的線程,或由于內(nèi)存裝入控制而被掛起的線程。
Memory段顯示內(nèi)容
¨ avm列表示活動虛擬內(nèi)存的頁面數(shù),每頁一般4KB
¨ fre空閑的頁面數(shù),每頁一般4KB
Page段顯示內(nèi)容
¨ re –該列無效
¨ pi 從磁盤交換到內(nèi)存的交換頁(調(diào)頁空間)數(shù)量,4KB/頁。調(diào)頁空間是駐留在硬盤上的虛擬內(nèi)存的一部分。當內(nèi)存使用過量時,會將溢出的工作組頁面存儲到調(diào)頁空間中(竊取頁)。當進程訪問一個竊取頁時,就產(chǎn)生了一個缺頁故障,而這一頁頁必須從調(diào)頁空間中讀入到內(nèi)存中。
¨ po 從內(nèi)存交換到磁盤的交換頁數(shù)量,4KB/頁。如果竊取的工作也在調(diào)頁空間中不存在或者已經(jīng)作了修改,則寫入調(diào)頁空間中。如果不被再次訪問,它會留在調(diào)度空間中直到進程終止或者放棄空間。
¨ fr 根據(jù)頁面替換算法每秒釋放的頁數(shù)。當VMM頁面替換例程掃描頁面幀表(Page Frame Table,PFT)時,它會根據(jù)一些條件選取需要竊取的頁面以補充空閑列表。該條件中包含工作頁面和計算頁面,釋放的頁面中,計算頁面不產(chǎn)生I/O,工作頁面如果數(shù)據(jù)沒有發(fā)生修改,也不需要寫回磁盤,也不會產(chǎn)生I/O。
¨ sr 根據(jù)頁面替換算法每秒所檢查的頁數(shù)。sr值比fr值高的越多,說明替換算法要查找可以替換的頁面就越困難。
¨ cy 每秒頁面替換代碼掃描了PFT多少次。因為增加空閑列表達到maxfree值,不一定需要完全掃描PFT表,而所有vmstat輸出都為整數(shù),所以通常cy列值為0。
Faults段顯示內(nèi)容(其實這段內(nèi)容不需太多關(guān)注)
¨ in 在該時間間隔中觀測到的每秒設備中斷數(shù)。
¨ sy 在該時間間隔中觀測到的每秒系統(tǒng)調(diào)用次數(shù)。
¨ cs 在該時間間隔中觀測到的每秒鐘上下文切換次數(shù)。
Cpu段顯示內(nèi)容
¨ us 列顯示了用戶模式所消耗的 CPU 時間。
¨ sy 列詳細顯示了 CPU 在系統(tǒng)模式所消耗的 CPU 時間。
¨ id 列顯示了沒有未決本地磁盤 I/O 時 CPU 空閑或等待時間的百分比。
¨ wa 列詳細顯示了有未決本地磁盤 I/O 時 CPU 空閑的時間百分比。wa 的值如果超過 25%,就表明磁盤子系統(tǒng)可能沒有被正確平衡,或者這也可能是磁盤工作負荷很重的結(jié)果。
如果在一個單用戶系統(tǒng)中,us + sy時間不超過 90%,我們就不認為系統(tǒng)的CPU是受限制的。
如果在一個多用戶系統(tǒng)中,us + sy時間超過 80%, 我們就認為系統(tǒng)的CPU是受限的。其中的進程將要花時間在運行隊列中等待。響應時間和吞吐量會受損害。
檢查cpu,我們主要關(guān)注報告中的4個cpu列和2個kthr(內(nèi)核線程)列。
在上面的示例中,我們可以觀察到以下幾個主要的信息:
CPU IDLE比較高,比較空閑;r列為0,表明線程不存在等待;
WA值不高,說明I/O壓力不大;
free值比較大,pi,po為0,表明內(nèi)存非常富裕。空閑較多。
2、sar
第二個常用的是 sar命令,但是sar會增加系統(tǒng)的開銷。當然有些情況下,我們使用sar比較方便。
sar的輸出結(jié)果與前面的基本類似,這里不再作詳細的介紹,關(guān)于命令的語法,也不再作詳細的介紹,我們常用的命令格式:
?
| #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命令輸出的是一個整體的cpu使用情況的一個統(tǒng)計,統(tǒng)計分項目的內(nèi)容也比較直觀,通過名字就可以理解涵義。這里有一點比較方便的就是,在最后一行有一個匯總的average行,作為上述統(tǒng)計的一個平均。另外,補充說明一點的就是,一般來說,第一行統(tǒng)計信息包含了sar命令本身啟動的cpu消耗,所以往往是偏高的,所以導致average值也往往是偏高一點的。當然,這不會對結(jié)果產(chǎn)生多大影響。
當我們有多個cpu的時候,而程序采用的是單線程,有時候會出現(xiàn)一種情況,我們檢查發(fā)現(xiàn),cpu總體的使用率不高,但是程序響應卻比較慢。這里有可能就是單線程只使用了一個cpu,導致這個cpu100%占用,處理不過來,而其他的cpu卻閑置。這時可以對cpu分開查詢,統(tǒng)計每個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)計的情況,結(jié)果應該也比較直觀吧。
Sar還有其他一些比較特殊的使用方法,比如:
如果希望多個采樣和多個報告,可為 sar 命令指定一個輸出文件,這樣就方便多了。將 sar 命令的標準輸出數(shù)據(jù)定向到 /dev/null,并將 sar 命令作為后臺進程運行。具體的命令格式為:
?
| 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医院怎么样,怎么预约医生?