深度講解Aix監(jiān)控工具
Aix監(jiān)控性能優(yōu)化以及確定系統(tǒng)中的性能瓶頸是系統(tǒng)管理員的主要任務(wù)之一。在一個計算機(jī)系統(tǒng)中,CPU、內(nèi)存、硬盤和網(wǎng)絡(luò)是影響系統(tǒng)性能的主要因素,因此系統(tǒng)性能調(diào)整也主要在于如何在這些資源中獲得某種平衡,以滿足人們對系統(tǒng)性能的期望。
Aix監(jiān)控工具
1、iostat
iostat命令主要通過觀察物理磁盤的活躍時間以及他們的平均傳輸速度,Aix監(jiān)控系統(tǒng)輸入/輸出設(shè)備負(fù)載。根據(jù)iostat命令產(chǎn)生的報告,用戶可確定一個系統(tǒng)配置是否平衡,并據(jù)此在物理磁盤與適配器之間更好地平衡輸入/輸出負(fù)載。
iostat工具的主要目的是通過Aix監(jiān)控磁盤的利用率(tm_act字段),而探測到系統(tǒng)中的I/O瓶頸。iostat還可用于確定CPU問題,輔助容量規(guī)劃,并可以為最終解決I/O問題提供相關(guān)材料。vmstat和iostat聯(lián)合使用,可捕獲到確定與CPU,內(nèi)存和I/O子系統(tǒng)有關(guān)的性能問題的必需數(shù)據(jù)。
iostat命令可產(chǎn)生下面四種類型的報告:
· tty和CPU利用情況
· 磁盤的利用情況
· 系統(tǒng)吞吐率
· 適配器吞吐率
2、netpmon
netpmon命令可以Aix監(jiān)控關(guān)于網(wǎng)絡(luò)行為的系統(tǒng)事件和性能以及網(wǎng)絡(luò)行為對CPU的消耗。netpmon命令在指定的Aix監(jiān)控周期報告網(wǎng)絡(luò)行為。netpmon啟動后直至發(fā)布trcstop命令終止它之前,一直在后臺運(yùn)行。如果使用缺省設(shè)置,trace命令將會在netpmon命令之后立即自動啟動。
另外,netpmon中還可用trcon命令選擇在后面的某個時間跟蹤。當(dāng)這種跟蹤用trcstop命令終止后,netpmon命令就會輸出它的報告并退出。缺省時報告會輸出到標(biāo)準(zhǔn)輸出,需要時也可以重定向到某個文件。netpmon命令還可以在一次先前產(chǎn)生的跟蹤中以脫機(jī)模式使用。在這樣的情況下,需要用gennames命令產(chǎn)生一個文件。該文件必須在trace終止后立即產(chǎn)生。
所產(chǎn)生的報告中包括CPU使用情況、網(wǎng)絡(luò)設(shè)備驅(qū)動器I/O情況、互聯(lián)網(wǎng)絡(luò)套接字調(diào)用,以及網(wǎng)絡(luò)文件系統(tǒng)(NFS)I/O信息:
· CPU use:netpmon命令報告線程和中斷處理器對CPU的使用情況。該命令將網(wǎng)絡(luò)相關(guān)行為的CPU使用情況與其它行為的CPU使用情況區(qū)分開。
· Network Device Driver I/O:netpmon命令監(jiān)控網(wǎng)絡(luò)適配器上所通過的I/O統(tǒng)計。
· Internet Socket Calls:netpmon命令在互聯(lián)網(wǎng)絡(luò)套接字上監(jiān)控read,recv,recvfrom,write,send以及sendto子程序。ICMP,TCP,UDP這幾個協(xié)議的每個進(jìn)程都會予以報告。
· NFS I/O:netpmon命令監(jiān)控客戶NFS文件上的read和write子程序,NFS客戶上的RPC請求以及NFS服務(wù)器的read和write請求。
3、PDT(性能診斷工具)
PDT通過收集和集中各種性能、配置和可用數(shù)據(jù)自動找出性能問題。PDT評估系統(tǒng)的當(dāng)前狀態(tài)并跟蹤系統(tǒng)在工作量和性能上的變化。PDT數(shù)據(jù)收集和報告很容易起用,不需要更多的管理行為。
雖然許多常見的系統(tǒng)性能問題都有特定性,但PDT還試圖用一些被認(rèn)為性能好的系統(tǒng)中的通用概念來幫助它查找問題。這些概念包括:
· 資源的平衡使用
· 在限定范圍操作
· 確定的工作量趨勢
· 無錯誤操作
· 系統(tǒng)參數(shù)得到適當(dāng)設(shè)置。
4、ps
ps命令是UNIX系統(tǒng)中最常見的命令,它主要顯示系統(tǒng)中關(guān)于進(jìn)程的統(tǒng)計和狀態(tài)信息,如進(jìn)程ID,I/O行為以及CPU利用率等。利用ps命令提供的信息,可決定一個進(jìn)程運(yùn)行了多長時間,進(jìn)程使用了多少CPU時間,以及進(jìn)程是否受系統(tǒng)的懲罰。還可用ps命令確定進(jìn)程使用了多少內(nèi)存,完成多少I/O,進(jìn)程的優(yōu)先級以及是誰創(chuàng)建了進(jìn)程。
下面這幾個命令組合對于管理RS/6000 Aix系統(tǒng)有幫助:
(1)顯示10個消耗CPU最多的進(jìn)程:
# ps aux |head -1 ;ps aux |sort -rn +2 |head –10
(2)顯示10個消耗存儲空間最多的進(jìn)程:
# ps aux |head -1 ;ps aux |sort -rn +3 |head -10
(3)按順序顯示系統(tǒng)中受罰的進(jìn)程:
#ps -eakl |head -1 ;ps -eakl |sort -rn +5
(4)按優(yōu)先級順序顯示系統(tǒng)中的進(jìn)程:
#ps -eakl |sort -n +6 |head
(5)按處理時間為順序顯示系統(tǒng)中的前十個進(jìn)程:
#ps vx |head -1 ;ps vx |grep -v PID |sort -rn +3 |head –10
(6)按實際內(nèi)存使用的多少順序顯示系統(tǒng)中的前十個進(jìn)程:
#ps vx |head -1 ;ps vx |grep -v PID |sort -rn +6 |head –10
(7)按換入頁面的多少順序顯示系統(tǒng)中的前10個進(jìn)程:
#ps vx |head -1 ;ps vx |grep -v PID |sort -rn +4 |head -10
5、vmstat
vmstat命令報告關(guān)于核心線程,虛擬內(nèi)存,自陷(trap),磁盤以及CPU行為的統(tǒng)計。而且每種行為報告都被更細(xì)致地用百分比分別表示用戶態(tài)、核態(tài)、空閑以及等待磁盤I/O等情況。
內(nèi)核維持了對核心線程,換頁以及中斷行為的統(tǒng)計數(shù)據(jù),而vmstat命令則通過使用knlist子程序和/dev/kmen偽設(shè)備驅(qū)動器訪問這些數(shù)據(jù)。磁盤的輸入/輸出統(tǒng)計是通過設(shè)備驅(qū)動器維持的。對于磁盤,平均傳輸速度是通過使用活躍時間核傳輸信息數(shù)目決定的。而活躍時間百分比則是從報告期間驅(qū)動器忙的時間量計算出來的。
vmstat命令產(chǎn)生五種類型的報告:
· 虛存行為報告
· fork子進(jìn)程情況報告
· 每個設(shè)備產(chǎn)生的中斷情況報告
· 匯總報告
· 輸入/輸出行為報告
6、sar
sar命令報告CPU的使用情況,I/O以及其它系統(tǒng)行為。sar命令可以收集,報告以及保存系統(tǒng)行為信息。如果沒有指定輸入文件,則sar調(diào)用sarc命令訪問系統(tǒng)數(shù)據(jù)。用戶可用讓cron命令運(yùn)行兩個shell腳本(/usr/lib/sa/sa1和/usr/lib/sa2)以提供日統(tǒng)計和報表。
在crontab文件/var/spool/cron/crontabs/adm中包括了一些樣本節(jié),用于示范cron要在何時運(yùn)行這些shell腳本。以這種方式收集到的數(shù)據(jù)對于確定系統(tǒng)的時間周期特征和決定峰值使用時間是有用的。但要注意的是,sar命令自己運(yùn)行時會產(chǎn)生相當(dāng)數(shù)量的讀寫。因此最好在沒有工作量的情況下運(yùn)行sar統(tǒng)計,看看sar對總的統(tǒng)計數(shù)字有多大的影響。
7、topas
topas命令用于Aix監(jiān)控各種系統(tǒng)資源,如CPU的使用情況,CPU事件和隊列,內(nèi)存和換頁空間的使用,磁盤性能,網(wǎng)絡(luò)性能以及NFS統(tǒng)計等。它還會報告指派給不同WLM類的進(jìn)程對系統(tǒng)資源的消耗情況。它還能報告系統(tǒng)中最熱門的進(jìn)程和工作量管理器(WLM)的熱門類。有關(guān)WLM類信息只有在WLM激活時才會顯示。topas命令將熱門進(jìn)程定義為那些使用大量CPU時間的進(jìn)程。topas命令沒有作日志的選項,所有信息都是實時的。
topas命令利用System Performance Measurement Interface(SPMI)API獲得有關(guān)信息。正是因為通過SPMI API,使系統(tǒng)開銷保持在最小程度。topas命令使用perfstat庫調(diào)用訪問perfstat內(nèi)核擴(kuò)展。
8、truss
truss命令跟蹤一個進(jìn)程的系統(tǒng)調(diào)用、所接收的信號以及招致的機(jī)器錯。要檢查的應(yīng)用程序可在truss命令的命令行中指定,也可將truss命令掛在一個或多個已經(jīng)在運(yùn)行的進(jìn)程上。
以上這些介紹,就是我們這次要介紹Aix監(jiān)控的知識。
【編輯推薦】