AIX常用的效能監控命令

xingfei80發表於2010-07-06

AIX常用的效能監控命令

轉自:http://hmtong.itpub.net/post/37077/501716

機器效能最佳化主要從四個方面去考慮:CPU,記憶體,磁碟I/O,網路。

[@more@]

1,CPU
sar命令
可以使用sar命令來檢視cpu的使用率。
ibm150:[/]#sar 1 5

AIX ibm150 1 5 000AF70D4C00 01/24/06

13:13:25 %usr %sys %wio %idle
13:13:26 0 0 0 100
13:13:27 0 0 0 100
13:13:28 0 0 0 100
13:13:29 0 0 0 100
13:13:30 0 0 0 100

Average 0 0 0 100

%usr + %sys > 80% 的時候 CPU將是瓶頸

ibm150:[/]#ps aux | head -4 檢視前3位佔用cpu的程式
USER PID %CPU %MEM SZ RSS TTY STAT STIME TIME COMMAND
root 774 49.7 8.0 12 18052 - A 10:07:58 188:24 wait
root 516 49.7 8.0 12 18052 - A 10:07:58 188:20 wait
root 5688 0.1 0.0 164 168 - A 10:09:13 0:21 /usr/sbin/syncd 6

%CPU表示程式使用cpu時間的百分比;%MEM表示程式使用實際記憶體的百分比
ps –elf 命令
將檢視程式的優先順序別

ibm150:[/]#ps -elf
F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD
200003 A root 1 0 0 60 20 28034 1876 10:08:23 0:00 /etc/init
240401 A root 2968 4502 0 60 20 2c376 2176 * 10:10:230:00 /usr/sbin/rsct/bin/IBM.ServiceRMd
40001 A root 3192 1 0 60 20 3417a 1472 10:09:00 -
0:00 /usr/dt/bin/dtlogin -daemon
240001 A root 3730 4158 3 61 20 321b9 2568 10:10:19 -
0:20 dtgreet
PRI值越小,優先順序越大。
NI值越大,優先順序越小。
可以使用命令nice ,renice來修改NI值。

2,MEMORY
vmstat命令
主要使用vmstat命令來檢視虛擬記憶體和實際記憶體的使用率,看記憶體瓶頸主要是看ps的使用率,只要ps的使用率沒有超過70%,記憶體的使用率為100%都是正常的。
ibm150:[/]#vmstat
kthr memory page faults cpu
----- ----------- ------------------------ ------------ -----------
r b avm fre re pi po fr sr cy in sy cs us sy id wa
1 1 45137 464235 0 0 0 0 0 0 248 523 333 0 0 99 0

Page表示頁面調入調出的數量,pi po經常為非零值時,需要注意。
Wa 表示等待I/O的時間,不能太高
avm 活動虛擬頁面,在程式執行中分配到工作段的頁面空間數. 越小越好,單位為4K。
實際記憶體中 系統程式使用的(計算段) 工作段。該值與svmon –G中的virtual值相等。
fre 空閒列表的數量.一般不少於120,當fre少於120時,系統開始自動的kill程式去釋放free list 越大越好,實際記憶體中空閒的frame數。
注意:avm不包括 檔案系統快取
The avm number will grow as more processes get started and/or existing processes allocate more working storage.

實際記憶體 頁面數 =(avm+fre+檔案系統快取)×4k
檔案系統快取 =檔案系統快取+某些程式退出時未釋放的檔案頁面
可以使用 vmstat -v檢視檔案系統快取
當檔案系統mount上的時候,對於記憶體區域有兩個動作,第一為分配部分工作段,第二為分配部分檔案系統快取

lsps –a命令
檢視pagespces的使用率
ibm150:[/]#lsps -a
Page Space Physical Volume Volume Group Size %Used Active Auto Type
hd6 hdisk2 rootvg 2464MB 1 yes no lv

%used > 70% 記憶體將成瓶頸

svmon命令
可以檢視實體記憶體的情況
ibm150:[/]#svmon –G 檢視記憶體全域性使用狀況
ibm150:[/]#svmon -Pt 3 檢視前三個佔用記憶體的程式
HPUX下可以使用 lsof 檢視

svmon -G ,topas,看出來都是20G記憶體,可ps gu或ps auxxx相加或使用svmon -U 相加卻少了10G
使用svmon -P發現大量的aioserver佔掉了記憶體,用ps -efk統計也是如此,原來是aioserver開得過多造成的。而aioserver屬於kernel的,所以有些統計都不算在內。

1, 磁碟I/O
iostat命令
主要使用iostat命令檢視磁碟I/O的負載
ibm150:[/]#iostat 1 2

tty: tin tout avg-cpu: % user % sys % idle % iowait
0.2 8.3 0.1 0.5 99.0 0.4

Disks: % tm_act Kbps tps Kb_read Kb_wrtn
hdisk0 0.0 0.2 0.0 3157 0
hdisk1 0.1 1.3 0.1 12049 4640
hdisk2 0.0 0.1 0.0 5 1405
cd0 0.0 0.0 0.0 0 0

tty: tin tout avg-cpu: % user % sys % idle % iowait
0.0 476.6 0.0 1.0 99.0 0.0

Disks: % tm_act Kbps tps Kb_read Kb_wrtn
hdisk0 0.0 0.0 0.0 0 0
hdisk1 0.0 0.0 0.0 0 0
hdisk2 0.0 0.0 0.0 0 0
cd0 0.0 0.0 0.0 0 0
A system is I/O bound, if:
%iowait > 25%, %tm_act > 70%

lvmstat命令
該命令檢視單個lv,vg上的I/O流量
使用lvmstat 命令前需要用 -e選項 啟用該命令:
ibm150:[/]#lvmstat -v rootvg –e
ibm150:[/]#lvmstat -v rootvg

Logical Volume iocnt Kb_read Kb_wrtn Kbps
hd4 13 0 56 0.00
hd8 11 0 44 0.00
hd2 8 0 36 0.00
hd9var 3 0 12 0.00
hd3 1 0 4 0.00
loglv02 0 0 0 0.00
lv01 0 0 0 0.00
sysb 0 0 0 0.00
hd10opt 0 0 0 0.00
hd1 0 0 0 0.00
hd6 0 0 0 0.00
hd5 0 0 0 0.00

ibm150:[/]#lvmstat -l hd4

Log_part mirror# iocnt Kb_read Kb_wrtn Kbps
1 1 36 0 156 0.00
2 1 0 0 0 0.00
3 1 0 0 0 0.00
4 1 0 0 0 0.00
5 1 0 0 0 0.00

filemon命令
To monitor the physical I/O activity of the virtual memory, logical volume,
and physical volume levels of the file system, enter:

ibm150:[/]#filemon -o /tmp/filemon.out 開始監控磁碟I/O
ibm150:[/]#smitty trcstop 停止監控並建立報告
ibm150:[/]#more /tmp/filemon.out 檢視報告

topas svmon
檢視每個程式所佔的IO

ibm150:[/]#topas –P
ibm150:[/]#svmon -P | more

2, network
topas命令
可以使用該命令檢視所有的效能情況,包括CPU,記憶體,磁碟I/O,network
ibm150:[/]#topas
其他命令可參見相關網路管理文件。

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

相關文章