AIX下程式記憶體分析

guyuanli發表於2009-07-29
AIX下程式記憶體分析
AIX下可以使用ps v工具或者svmon工具來分析程式記憶體。ps v命令是ps命令的一個工
具,要注意的是v之前不要加”-“。ps v工具在任何AIX作業系統下都可以使用。比
如:[@more@]# ps -lfp 13288
F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD
240001 A oracle 13288 1 0 60 20 1ba2f 34032 Nov 03 - 0:06
ora_pmon_DEV

# ps v 13288
PID TTY STAT TIME PGIN SIZE RSS LIM TSIZ TRS %CPU %MEM COMMAND
13288 - A 0:08 225 5616 13904 32768 28420 13512 0.0 1.0
ora_pmon_DEV



從ps命令看到sz是34M。而用ps v命令可以看到rss是13904,TRS是13512。程式使用的
記憶體是RSS-TRS=392K(ps v看到的記憶體單位是K)。


用svmon可以看到更多的資訊,其結果和ps v是一致的。比如:

#svmon -P 23288
----------------------------------------------------------------------------
---
Pid Command Inuse Pin Pgsp Virtual 64-bit Mthrd
23288 ora_pmon_V8 29598 1451 182 16560 N N
Vsid Esid Type Description Inuse Pin Pgsp Virtual Addr
Range
1781 3 work shmat/mmap 11824 0 0 11824
0..24700
1761 1 pers code,large file /dev 9681 0 - -
0..9680
0 0 work kernel seg 3982 1450 182 3390
0..21804 :

65474..65535
18018 d work shared library text 2852 0 0 158
0..65535
4764 2 work process private 1127 1 0 1127
0..1182 :

65307..65535
f74f f work shared library data 81 0 0 61
0..1291
1e59e - pers large file /dev/lv00 33 0 - - 0..32
e58e - pers large file /dev/lv00 16 0 - - 0..82
b74b - pers large file /dev/lv00 1 0 - - 0..0
3703 - pers large file /dev/lv00 1 0 - - 0..0


#ps v 23288
PID TTY STAT TIME PGIN SIZE RSS LIM TSIZ TRS %CPU %MEM
COMMAND
23288 - A 0:00 0 4752 43556 32768 27289 38724 0.0 5.0
ora_pmon_V8



要注意的是,svmon顯示的記憶體都是以Page為單位的,AIX下,每個頁為4K。
透過work process private的virtual大小和work shared library data的virtual大小
的和ps v的SIZE是完全一致的:
4752K=(1127+61)×4K
而RSS的內容相當於linux專案的private working-storage segments加上pers code和
shared library data。
43556K=(1127 + 9681 + 81)*4K
TRS就是INUSE專案的pers code:
38724K=9681*4K

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

相關文章