AIX效能監控topas命令的詳細解析

2021-05-13 01:54:42 字數 3636 閱讀 8399

執行topas命令後如圖所示:

#topas

作業系統的最全面動態,而又檢視方便的效能檢視就是topas命令了,下面以topas輸出為例,對aix系統的效能監控做簡要描述,供運維工程師和系統管理員們參考。

另:1.作業系統報錯資訊errpt檢視。2.磁碟空間使用率採用df檢視。這裡主要分析效能問題。

區域1:反映cpu使用率和工作狀況。

kernel:

說明:作業系統的核心占用的cpu時間比率。

作業系統作為基礎軟體,為應用程式支援和服務的同時,本身的執行也需要一定的cpu和記憶體資源(順便提到記憶體資源,後面不再闡述這個內容了),特別是記憶體資源,系統負載越重,相應的核心占用的cpu和記憶體資源也會越多。一般來說,核心占用的cpu時間不會太多的。一般小於應用的cpu使用率。

user:

說明:使用者程序占用的cpu時間比率。

這個為cpu使用率的關鍵數值。該使用率反映了使用者在作業系統基礎上執行的各種軟體占用的cpu時間比率的總和。一般來說,如果user+kernel連續大於70%,即可以認為系統可能存在cpu上的嚴重效能問題。

wait

說明:cpu處於等待狀態佔cpu時間的比率。

cpu的等待一般都為等待io的響應,眾所周知,目前計算機的主要瓶頸都在io。應用程式執行的時候,需要讀寫磁碟等外部儲存的資料,程序就會發起io請求後等待io完成。這個等待的過程占用cpu時間就是wait。當這個值很高的時候,就說明io來不及響應很多的io請求,這個時候,就只能從io層面想辦法優化了。

idle:

說明:cpu空閒時間比率,這個就不用說了吧。就是cpu多少時間比率在閒著。

cpu佔用率出問題的主要可能原因:資料庫伺服器執行某乙個sql或者儲存過程(儲存過程就是封裝起來的sql程式包而已)需要大量的運算(一般為軟體設計不合理)。或者應用程式中存在異常的地方,比如死迴圈,或者其他寫程式時的邏輯錯誤導致。一般程式出錯會導致乙個cpu被全部占用,比如上述的20%占用的原因就是乙個交易程式長期占用乙個cpu全部時間片(系統共計5個cpu)。

區域2:反映網路使用率的狀況。

netwok;列出了網絡卡介面,kbps即每秒鐘多少kb(千位元組) i-pack每秒鐘輸入的資料報個數, o-pack 每秒鐘輸出的資料報個數  kb-in每秒鐘輸入的位元組數 kb-out每秒鐘輸出的位元組數。

當我們發現網路擁堵時(出現網絡卡傳輸失效的報錯,即網絡卡傳送資料報失敗。或者網路響應明顯變慢的時候,如果cpu沒有問題,那麼請檢查網路流量)發現某乙個網絡卡的kbps持續大於四位數,甚至五位數時(這個值要是網絡卡千兆還是百兆而定)。就要看看這個網絡卡是什麼網絡卡,在處理什麼業務了。在命令列執行netstat –in 檢視對應en*介面的ip位址,通過ip位址看看是帶官網絡卡還是生產服務網絡卡流量高。然後通過netstat –v en* 看看網絡卡的詳細工作狀態,出現了多少錯包,衝突包,crc校驗錯或者網路重置過等資訊。上述資訊請詳細看netstat –v en*的輸出.如果出現大量crc,錯包的話,可能網線有問題或者接觸不良。

如果上述均正常,而網路反應慢,則有可能是交換機擁堵。

網路出現問題的可能原因:通過百兆的帶管網載入大量資料(以前出現過),大量佇列的長時間的ftp傳輸,或者網線,交換機問題等。

區域3:反映磁碟使用率的狀況。

disk  busy%磁碟繁忙的百分比,即磁碟能滿足的最大iops(每秒io運算元)和當前io數量的比率。其他的引數不再解釋。望文生義即可。

一般主要看磁碟的busy%,當磁碟的busy%持續大於85%時,即認為磁碟相當繁忙,已經可能要出問題了。當然,自己知道已經確定要產生大量io操作的內容則不必在意,等其完成即可。

出現問題的原因:應用伺服器上面寫日誌程序或者查詢日誌的程序大量讀寫日誌,導致磁碟繁忙率高,或者其他程式頻繁讀寫磁碟導致。系統中hdisk0,hdisk1一般為系統盤,內建scsi磁碟的相對iops是較低的。很容易滿負荷執行。

區域4:反映程序資訊的狀況。

name:程序的名稱,即程序被執行時啟動的二進位制檔案的名稱。

pid,程序的id,程序的id在系統中唯一,是我們了解跟蹤程序資訊重要數值。

跟蹤程序的cpu使用,磁碟io讀寫,程序的記憶體和pagingspace占用等等均需要使用。

cpu%程序占用cpu時間的比率。

pgsp,程序占用的pagingspace的空間大小。

owner程序的屬主,即由哪個操作使用者使用者啟動了這個程序。

在topas中,預設是列出占用cpu最高的前幾個的程序資訊供參考,如果前面第一區域的的cpu使用率持續高,就要看看這裡是那個程序占用了大量的cpu資源,看看是哪個使用者的程序,如果自己執行的,則殺掉或者找專案組解決即可。

區域5:反映記憶體頁面和換頁空間資訊的狀況。

換頁空間即磁碟上的空間,在aix作業系統中用來做記憶體空間使用。具體的理論就不再闡述了,詳細資訊請參閱作業系統內容。磁碟空間的速度當然相比記憶體,慢了不止10倍。所以,只是記憶體頁面的乙個暫時存放地,存放的還是那些長期不怎麼用到的記憶體頁面而已。如果paging大量出現,這時候就有麻煩了,說明:記憶體不夠用了!

該區域主要關注pagein,pageout如果這兩個數值均大於三位數,並且長期大於這個數值,在技術上叫做記憶體顛簸,即不停的把記憶體頁面換到磁碟空間上,又從磁碟空間把記憶體頁面讀進來,系統的記憶體使用效率變的極差,系統響應效能也變慢了。

這個資訊也可以用vmstat來看,pi和po列即與這裡相對應。當然,如果只是有頁面出,或者只有頁面入,或者短時間的一些頁面換入換出,則沒有什麼問題,關注一下即可。

區域6:反映記憶體使用的資訊。

real,mb作業系統實際擁有的記憶體的總量,單位是mb。

%comp,計算型記憶體占用比率,%noncomp非計算型記憶體占用的比率。

%client也為非計算型記憶體,noncomp包涵client型記憶體,jfs檔案系統使用的記憶體為noncomp,為了區分,jfs2和nfs使用的記憶體為client。

計算型記憶體就是程序實際使用的記憶體,例如我們寫程式的時候malloc記憶體,或者在排序中使用了堆疊,程序中變數數值都需要在記憶體中儲存,這部分記憶體為計算型記憶體(闡述不全面,僅供參考)。而作業系統在進行檔案讀寫,需要的io緩衝區,或者我們在寫程式的時候,開啟檔案,讀寫檔案,均在檔案緩衝區進行。(裸裝置例外,cccc的資料庫採用rac,資料的儲存全部使用裸裝置,在資料庫伺服器上,資料檔案的緩衝在oracle的sga區的data buffer中(這個區域系統認為是計算型記憶體),是不會占用非計算記憶體的。)

導致記憶體出問題的可能原因很多。主要有:程序使用了更多的記憶體,例如,cccc資料庫伺服器大量的oracle連線使用了很多記憶體,或者資料庫中執行的某乙個sql指令碼或者儲存過程的執行需要大量的記憶體來完成其操作(特例庫中出現過這個情形,乙個儲存過程的執行導致作業系統記憶體被耗盡,pg也隨之耗盡,作業系統自動執行pgsp_kill,把該程序給乾掉了,我也是第一次知道aix系統還有這個功能,呵呵)。第二個主要的問題就是記憶體洩漏,記憶體洩漏最簡單的來說,就是申請了記憶體空間,使用後不再使用了,但是也沒有釋放。我們寫程式的時候malloc,卻沒有free。這就導致了嚴重的問題,隨著程式的執行,可用物理記憶體越來越少,最後就掛了,只好定期重啟應用來解決。

作業系統的記憶體換頁機制導致了程式中不用的記憶體頁面最後都跑到pg上面去了,換頁空間會持續增長的。因應用導致系統問題就是這麼產生的。

區域7反映的是換頁空間的使用率。

如果換頁空間的使用率長期增長,就說明系統記憶體不足,已經開始使用磁碟空間來緩衝記憶體了,如果pg使用率持續增長,或者大於50%,需要警惕(到50%在監控平台已經是主要告警啦!),並馬上提交系統管理員分析記憶體增長原因。如果該數值持續增長,系統一定會掛掉的!

AIX效能監控topas命令的詳細解析

執行topas命令後如圖所示 topas 區域1 反映cpu使用率和工作狀況 kernel 作業系統的核心占用的cpu時間比率。作業系統作為基礎軟體,為應用程式支援和服務的同時,本身的執行也需要一定的cpu和記憶體資源 順便提到記憶體資源,後面不再闡述這個內容了 特別是記憶體資源,系統負載越重,相應...

AIX系統下的topas命令使用

topas命令預設2秒更新一次 一 topas命令以區域形式表現系統各項指標效能,如下圖 1 cpu 反應cpu效能區域,如果有多個 cpu,按 c鍵兩次就可顯示 cpu列表。僅按 c鍵一次會關閉此區域 user 使用者程序占用cpu 的時間比率。該數值反應了使用者所執行的各種軟體所占用的 cpu時...

AIX 5 3主機效能評估 topas的使用說明

topas 的使用說明 topas 命令用於監控各種系統資源,如 cpu的使用情況,cpu事件和佇列,記憶體和換頁空間的使用,磁碟效能,網路效能以及 nfs統計等。它還會報告指派給不同 wlm類的程序對系統資源的消耗情況。它還能報告系統中最熱門的程序和工作量管理器 wlm 的熱門類。有關 wlm類資...