AIX的topas命令詳解

it_newbalance發表於2014-01-10

topas概述
topas 命令報告選定的本地系統活動的統計資訊。該命令使用 curses 庫以合適的格式來顯示其輸出,該格式適合於在一個 80x25 基於字元的顯示器上或至少同樣大小的圖形顯示器的視窗中進行檢視。topas 命令需要在系統中安裝 perfagent.tools 檔案集。
如果 topas 命令呼叫時沒有標誌,則執行時正如用以下命令列來呼叫:
topas -d20 -i2 -n20 -p20 -w20 -c20
程式按由 monitoring_interval_in_seconds 引數指定的時間間隔從系統抽取統計資訊。預設輸出如下所示,包含兩個固定部分和一個可變部分。顯示器左邊的最上方兩行顯示了 topas 命令執行所在的系統的名稱、上次檢視的日期和時間以及監視時間間隔。
第二個固定部分佔用了顯示器的最右端的 25 個位置。它包含統計資訊的 5 個子節,如下所示:


事件/佇列 顯示選定的系統全域性事件的每秒頻率、執行緒執行和等待佇列的平均大小:  上下文切換 在監視時間間隔內每秒上下文切換的數量。  系統呼叫 在監視時間間隔內每秒執行的系統呼叫的總數。  在監視時間間隔內每秒執行的 read 系統呼叫的數量。  在監視時間間隔內每秒執行的 write 系統呼叫的數量。  派生 在監視時間間隔內每秒執行的 fork 系統呼叫的數量。  執行 在監視時間間隔內每秒執行的 exec 系統呼叫的數量。  執行佇列 準備執行但需要等待處理器可用的平均執行緒數目。  等待佇列 正在等待頁面排程完成的平均執行緒數目。 
檔案/TTY 顯示所選檔案與 tty 統計資訊的每秒頻率。  讀字元 在監視時間間隔內 read系統呼叫每秒讀的位元組數。  寫字元 在監視時間間隔內 write 系統呼叫每秒寫的位元組數。  原始輸入 在監視時間間隔內每秒從 TTY 中讀取的原始位元組數。  Tty 輸出 在監視時間間隔內每秒寫入 TTY 中的位元組數。  Igets 在監視時間間隔內每秒呼叫索引節點查詢例程的數量。  Namei 在監視時間間隔內每秒呼叫路徑名查詢例程的數量。  目錄塊 在監視時間間隔內被目錄搜尋例程每秒掃描的目錄塊數目。 
頁面排程 顯示頁面排程統計資訊的每秒頻率。  故障 在監視時間間隔內每秒缺頁故障的總數。這包括不能啟用頁面排程的缺頁故障。  佔用 在監視時間間隔內每秒鐘有實體記憶體 4K 幀被虛擬記憶體管理器佔用。  調頁空間輸入 在監視時間間隔內每秒鐘從調頁空間讀取 4K 頁面的數量。  調頁空間輸出 在監視時間間隔內每秒鐘將 4K 頁面寫到調頁空間的數量。PageIn,PageOut如果這兩個數值均大於三位數,並且長期大於這個數值,則會出現記憶體顛簸,導致系統響應效能變慢了。這個資訊也可以用vmstat來看,pi和po列即與這裡相對應。當然,如果只是有頁面出,或者只有頁面入,或者短時間的一些頁面換入換出,則沒有什麼問題,關注一下即可。 頁面調進 在監視時間間隔內每秒鐘讀取 4K 頁面的數量。這包括與從檔案系統讀取有關的頁面排程活動。從此值中減去 PgspIn就可得到在監視時間間隔內每秒鐘從檔案系統讀取的 4K 頁面的數量。  頁面調出 在監視時間間隔內每秒鐘寫 4K 頁面的數量。這包括與寫入檔案系統有關的頁面排程活動。從此值中減去 PgspOut就可得到在監視時間間隔內每秒鐘寫入檔案系統的 4K 頁面的數量。  Sios 在監視時間間隔內虛擬記憶體管理器每秒鐘發出的 I/O 請求的數目。 
記憶體 顯示實際記憶體大小與記憶體使用的分佈情況。  實記憶體,MB 以 MB 為單位的實記憶體大小。  計算頁面百分比 當前分配給計算頁面幀的實際記憶體的百分比。計算頁面幀通常是那些被調頁空間支援的幀。  非計算頁面百分比 當前分配給非計算頁面幀的實際記憶體的百分比。非計算頁面幀通常是那些被檔案空間(可以是資料檔案、可執行檔案或共享庫檔案)支援的幀。  客戶機百分比 當前被分配用來對遠端安裝的檔案進行快取記憶體的實記憶體的百分比 
調頁空間 顯示調頁空間的大小和使用率  大小,MB 系統上所有調頁空間的總和,以 MB 為單位。  已使用百分比 當前正在使用的調頁空間所佔的總百分比。如果換頁空間的使用率長期增長,就說明系統記憶體不足,已經開始使用磁碟空間來緩衝記憶體了,如果PG使用率持續增長,或者大於50%,需要警惕(到50%在監控平臺已經是主要告警啦!),並馬上提交系統管理員分析記憶體增長原因。如果該數值持續增長,系統一定會掛掉的! 空閒百分比 當前未使用的調頁空間所佔的總百分比。
NFS 顯示每秒呼叫的 NFS 狀態 
  • 伺服器 V2 calls/sec
  • 客戶機 V2 calls/sec
  • 伺服器 V3 calls/sec
  • 客戶機 V3 calls/sec

CPU 使用率

此子節顯示一個條形圖表來表示累積的 CPU 使用率。如果有多個 CPU,按 c兩次就可顯示 CPU 列表。僅按 c鍵一次將會關閉此子節。以下欄位通過兩種格式顯示:

使用者百分比:這顯示以使用者方式執行的程式所使用的 CPU 的百分比。(預設按使用者百分比排序):這個為CPU使用率的關鍵數值。該使用率反映了使用者在作業系統基礎上執行的各種軟體佔用的CPU時間比率的總和。一般來說,如果User+Kernel連續大於70%,即可以認為系統可能存在CPU上的嚴重效能問題。
核心百分比:這顯示以核心方式執行的程式所使用的 CPU 的百分比。作業系統作為基礎軟體,為應用程式支援和服務的同時,本身的執行也需要一定的CPU和記憶體。特別是記憶體資源,系統負載越重,相應的核心佔用的CPU和記憶體資源也會越多。一般來說,核心佔用的CPU時間不會太多的。一般小於應用的CPU使用率。
等待百分比:這顯示用於等待 IO 的時間的百分比。CPU的等待一般都為等待IO的響應,眾所周知,目前計算機的主要瓶頸都在IO。應用程式執行的時候,需要讀寫磁碟等外部儲存的資料,程式就會發起IO請 求後等待IO完成。這個等待的過程佔用CPU時間就是wait。當這個值很高的時候,就說明IO來不及響應很多的IO請求,這個時候,就只能從IO層面想 辦法優化了。
空閒百分比
:這表示 CPU 空閒時間的百分比。CPU佔用率出問題的主要可能原因:資料庫伺服器執行某一個SQL或者儲存過程需要大量的運算(一般為軟體設計不合理)。或者應用程式中存在異常的地方,比如死迴圈,或者其他寫程式時的邏輯錯誤導致。一般程式出錯會導致一個CPU被全部佔用,比如上述的20%佔用的原因就是一個交易程式長期佔用一個CPU全部時間片。

當此子節首先顯示熱 CPU 列表時,就按使用者百分比欄位來對列表排序。但是,可以按其它欄位來對列表排序,只要將游標移到期望欄的頂部就可以了。

網路介面
此子節顯示了熱網路介面的列表。所顯示介面的最大數目是正在受監視的熱介面數目,如 -n標誌指定的那樣。如果其它子節也正在被顯示,則將顯示介面的一個較小數目。按n鍵可關閉此子節。再次按 n鍵顯示一行所有網路介面活動的報告摘要。兩個報告都顯示以下欄位:

介面:網路介面的名稱。
千位/秒
:在監視時間間隔內每秒鐘以 MB 為單位的總吞吐量。該欄位是每秒接收到的千位元組和傳送的千位元組的總和。
輸入包
:在監視時間間隔內每秒鐘接收到的資料包的數目。
輸出包
:在監視時間間隔內每秒鐘傳送的資料包的數目。
輸入千字
:在監視時間間隔內每秒鐘接收到的千位元組的數目。
輸出千位元組
:在監視時間間隔內每秒鐘傳送的千位元組的數目。

當此子節首先顯示熱網路介面列表時,按 KBPS 欄位對列表排序。但是,可以按其它欄位對列表排序,只要將游標移到期望欄的頂部就可以了。排序僅對最多 16 個網路介面卡有效。

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

磁碟

物理磁碟此子節顯示熱物理磁碟列表。所顯示物理磁碟的最大數目是正受監視的熱物理磁碟數目,正如 -d標誌指定的那樣。如果其它子節也正在被顯示,則將顯示物理磁碟的一個較小數目。按 d鍵可關閉此子節。再次按 d鍵顯示一行所有物理磁碟活動的報告摘要。兩個報告都顯示以下欄位:
物理磁碟的名稱。

忙碌百分比
:表示物理磁碟活動時間的百分比(驅動器頻寬使用率)。Disk  Busy%磁碟繁忙的百分比,即磁碟能滿足的最大IOPS(每秒IO運算元)和當前IO數量的比率。一般主要看磁碟的Busy%,當磁碟的Busy%持續大於85%時,即認為磁碟相當繁忙,已經可能要出問題了。當然,自己知道已經確定要產生大量IO操作的內容則不必在意,等其完成即可。出現問題的原因:應用伺服器上面寫日誌程式或者查詢日誌的程式大量讀寫日誌,導致磁碟繁忙率高,或者其他程式頻繁讀寫磁碟導致。系統中hdisk0,hdisk1一般為系統盤,內建SCSI磁碟的相對IOPS是較低的。很容易滿負荷執行。
千位/秒:在監視時間間隔內每秒鐘讀和寫的千位元組的數目。此欄位是 KB-ReadKB-Writ的總和。
TPS
:每秒鐘向物理磁碟發出的傳輸數目。傳輸是對物理磁碟的 I/O 請求。多個邏輯請求可組合成對磁碟的單個 I/O 請求。傳輸大小不確定。
讀取千位元組
:每秒鐘從物理磁碟讀取的千位元組的數目。
寫入千位元組
:每秒鐘寫到物理磁碟的千位元組的數目。

當此子節首先顯示熱物理磁碟列表時,按KBPS 欄位對列表排序。但是,可以按其它欄位對列表排序,只要將游標移到期望欄的頂部就可以了。排序僅對最多 128 個物理磁碟有效。

程式

此子節顯示熱程式列表。所顯示程式的最大數目是正在受監視的熱過程數目,如 -p標誌指定的那樣。如果其它子節也正在被顯示,則將顯示程式的一個較小數目。按 p鍵可關閉此子節。按監視時間間隔內程式的 CPU 使用率來對程式排序。對於每一程式會顯示以下欄位:
名稱
:在程式中執行的可執行程式的名稱。名稱已被除去任何路徑名和引數資訊並被截斷到 9 個字元的長度。
程式標識
:程式的程式標識。
CPU 使用率百分比
:在監視時間間隔內程式的平均 CPU 使用率。第一次顯示程式時,此值表示整個程式生命期上的平均 CPU 使用率。
已使用調頁空間
:分配給此程式的調頁空間的大小。這可被認為是程式覆蓋區的一種表達,但並不包括用來保持可執行程式和它依賴的任何共享庫的記憶體。
程式所有者
(如果 WLM 部分被關閉)
:擁有此程式的使用者的使用者名稱。
工作負載管理(WLM)類
(如果 WLM 部分被開啟)
:程式所屬的 WLM 類。

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

引數列表

-d 指定要受監視的磁碟數目。這也是在螢幕有足夠的可用空間時顯示的磁碟的最大數目。當此數目超過所安裝的磁碟數目時,只有已安裝的磁碟將受監視和顯示。如果此引數被省略,假定 2為預設值。如果指定值為 0(零),就不監視磁碟資訊。
-h 用以下格式顯示幫助資訊:
用法:topas [-d number-of-monitored-hot-disks]
              [-h]
              [-i monitoring-interval_in_seconds]
              [-n number-of-monitored-hot-network-interfaces]
              [-p number-of-monitored-hot-processes]
              [-w number-of-monitored-hot-WLM classes]
              [-c number-of-monitored-hot-CPUs]
              [-P|-W]  

-i 以秒為單位設定監視時間間隔。預設值為 2秒。
-n 指定要受監視的熱網路介面的數目。這也是在螢幕有足夠可用空間時顯示的網路介面的最大數目。當此數目超過所安裝的網路介面數目時,只有已安裝的網路介面將受監視和顯示。如果此引數被省略,假定 2為預設值。 如果指定值為 0(零),就不監視網路資訊。
-p 指定要受監視的熱程式數目。這也是在螢幕有足夠可用空間時顯示的程式的最大數目。如果此引數被省略,假定 20為預設值。如果指定值為 0,就不監視程式資訊。對程式資訊的檢索構成了 topas的主要開銷。如果不需要程式資訊,總是使用此選項來指定不需要程式資訊。
-w 指定要受監視的熱工作負載管理(WLM)類的數目。這也是在螢幕有足夠可用空間時顯示的 WLM 類的最大數目。當此數目超過所安裝的 WLM 類數目時,只有已安裝的 WLM 類將受監視和顯示。如果此引數被省略,假定 2為預設值。 如果指定值為 0(零),就不監視 WLM 類資訊。
-c 指定要受監視的熱 CPU 的數目。這也是在螢幕有足夠可用空間時顯示的 CPU 的最大數目。 當此數目超過可用的 CPU 數目時,只有已安裝的 CPU 將受監視和顯示。如果此引數被省略,假定 2為預設值。如果指定值為 0(零),就不監視 CPU 資訊。
-P 顯示全螢幕程式顯示。顯示了最忙程式的列表,與預設顯示時的程式子節類似,只是要用更多的欄來顯示每個過程的更多規格資訊。此表可按任意一欄來排序。
-W

顯示全螢幕WLM類顯示,此為分割顯示。顯示器的頂部顯示熱 WLM 類的列表,類似於預設顯示時的 WLM 類子節,只是要用足夠可用空間來顯示全部類名。此表可按任意一欄來排序。

顯示器的低部顯示最忙程式的列表,與全螢幕程式顯示類似,但僅顯示屬於一個 WLM 類(用 f鍵選擇)的程式。

子命令

topas執行時,它接受單字元的子命令。每次監視時間間隔過去時,程式會對以下子命令之一進行檢查並對所請求的操作作出響應。

 

a a鍵可顯示所有正在受監視的變數子節(CPU、網路、磁碟、WLM、過程)。按 a鍵總使 topas命令返回到初始主顯示螢幕。
c c鍵可使 CPU 子節在累積報告、關閉和最忙 CPU 列表這三者之間進行切換。所顯示的最忙 CPU 數目將取決於螢幕上的可用空間。
d d鍵可使磁碟子節在最忙磁碟列表、關閉和系統全部磁碟活動的報告這三者之間進行切換。所顯示的最忙磁碟數目將取決於螢幕上的可用空間。
h 顯示幫助螢幕。
n n鍵可使網路介面子節在最忙介面列表、關閉和系統全部網路活動的報告這三者之間進行切換。所顯示的最忙介面數目將取決於螢幕上的可用空間。
w w鍵可在開啟與關閉工作負載管理(WLM)類子節之間進行切換。所顯示的最忙 WLM 類數目取決於螢幕上的可用空間。
p p鍵可在開啟與關閉熱程式子節之間進行切換。所顯示的最忙程式數目取決於螢幕上的可用空間。
P 大寫 P鍵用全螢幕程式顯示來替換預設顯示。有關執行在系統上的程式,此顯示提供了比主顯示的程式部分更詳細的的資訊。再次按 P鍵時,就會切換回預設主顯示。
W 大寫 W鍵用全螢幕 WLM 類顯示來替換預設顯示。此顯示提供了有關 WLM 類和指定給類的程式的更詳細資訊。再次按 W鍵時,就會切換回預設主顯示。
f 將游標移動到一個 WLM 類上,並按 f鍵就可在 WLM 螢幕底部顯示該類中頂部程式的列表。該鍵功能只有 topas 在全螢幕 WLM 顯示(通過使用 W鍵或 -W標誌)時才有效。
q 退出程式。
r 重新整理顯示。
箭頭鍵與跳格鍵 主顯示中的各個子節,諸如 CPU、網路、磁碟、WLM 類、全螢幕 WLM 與程式顯示的子節可按不同標準進行排序。將游標移動到一欄上,然後會按該欄進行排序。各項總是從最高值到最低值排序。使用跳格鍵或箭頭鍵來移動游標。排序只對 128 個磁碟和 16 個網路介面卡有效。

常用用法

1、要每 5 秒顯示最多 20 個“熱”磁碟而省略網路介面、WLM 類和程式資訊,請輸入:
#topas -i5 -n0 -p0 -w0
2、要顯示 5 個最活躍的程式和最多 20 個最活躍的 WLM 類(省略 -w 標誌時此為預設值),而不顯示網路或磁碟資訊,請輸入:
#topas -p5 -n0 -d0
3、要使用預設選項執行程式,請輸入:
#topas
4、要直接進入程式顯示,請輸入:
#topas -P
5、要直接進入 WLM 類顯示,請輸入:
#topas -W

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24558279/viewspace-1069319/,如需轉載,請註明出處,否則將追究法律責任。