svmon 命令提供了一個更加深入的內(nèi)存使用情況的分析。比起 vmstat 和 ps 命令,它帶有更多信息量,并且更具有強制性。svmon 命令捕獲一個當(dāng)前內(nèi)存狀態(tài)的快照。然而,這并不是一個真正的快照,因為它運行在用戶級別,即中斷允許狀態(tài)。
要確定 svmon 是否已安裝并可用,運行以下命令:
# lslpp -lI bos.perf.tools
svmon 命令只能由 root 用戶執(zhí)行。
如果使用時間間隔(-i 項),統(tǒng)計信息將會一直顯示直到命令被殺死或者直到達到了時間間隔的數(shù)值(可以剛好在該時間間隔后指定)。
可以使用下列不同的報告來分析所顯示的信息:
全局(-G)
顯示描述整個系統(tǒng)中實內(nèi)存和調(diào)頁空間的使用的統(tǒng)計信息。
進程(-P)
顯示指定活動進程的內(nèi)存使用情況。如果不提供進程列表,那么內(nèi)存使用統(tǒng)計信息顯示所有活動的進程。
段(-S)
顯示指定段的內(nèi)存使用情況。如果不提供段的列表,那么內(nèi)存使用統(tǒng)計信息顯示所有定義的段。
段的詳細信息(-D)
顯示指定段的詳細信息。
用戶(-U)
顯示指定登錄名的內(nèi)存使用統(tǒng)計信息。如果不提供登錄名列表,那么顯示所有定義的登錄名的內(nèi)存使用統(tǒng)計信息。
命令(-C)
顯示某個命令名指定的進程的內(nèi)存使用統(tǒng)計信息。
工作負載管理類(-W)
顯示指定的工作負載管理類的內(nèi)存使用統(tǒng)計信息。如果不提供類,那么顯示所有定義的類的內(nèi)存使用統(tǒng)計信息。
幀(-F)
顯示幀的信息。不指定幀的號碼時,會報告使用的內(nèi)存的百分比。僅考慮設(shè)置了訪問位的幀。在處理期間,所有的訪問位都將復(fù)位。因此,當(dāng)?shù)诙问褂?-f 選項時,svmon 命令會報告自上次使用 -f 選項以來已訪問的實內(nèi)存的百分比。如果在系統(tǒng)上定義了一個保留池,那么將報告每個已定義池中使用的內(nèi)存的百分比。
層(-T)
顯示層的信息,例如層號,使用 -a 標志時的超類名和實內(nèi)存中屬于層的段的總頁數(shù)。
下面舉例說明使用命令可做的一些工作:
1、# svmon -uP -t 3|grep -p Pid|grep '^.*[0-9] '
可將使用實存最多的三個進程標出
5428 X 4681 1584 2656 9156 N N
16274 bin 4594 1588 2273 8824 N Y
6458 dtgreet 4660 1580 2144 8712 N N
輸出的格式順序為 Pid Command Inuse Pin Pgsp Virtual 64-bit Mthrd
可以計算出X程序所使用的實存為4681×4096=18763776,約為18MB
2、# svmon -gP -t 3|grep -p Pid|grep '^.*[0-9] '
可將使用交換區(qū)最多的三個進程標出,
5428 X 4681 1584 2656 9156 N N
16274 bin 4594 1588 2273 8824 N Y
6458 dtgreet 4660 1580 2144 8712 N N
第一個程序X所使用的交換區(qū)大小約為 2566×4096 =10510336 字節(jié),大約為10MB空間
3、# svmon -S -t 3 -i 3
每隔三秒顯示使用最多的段
Vsid Esid Type Description Inuse Pin Pgsp Virtual
4f08 - clnt 37505 0 - -
11e1 - clnt 33623 0 - -
8811 - work kernel pinned heap 12637 6547 8091 19397
可見,Vsid為4f08的段使用最多
4、svmon -pP 22674
看PID為22674的進程所使用的為那些文件
Pid Command nuse Pin Pgsp Virtual 64-bit Mthrd
22674 java 29333 1611 2756 32404 N Y
Vsid Esid Type Description Inuse Pin Pgsp Virtual
0 0 work kernel seg 2979 1593 1659 4561
a056 - work 43 16 3 46
1e03 2 work process private 77 2 17 93
1080 - pers /dev/hd2:69742 1 0 - -
f8bd f work shared library data 84 0 11 99
60ee 8 work shmat/mmap 0 0 0 0
70ec - pers /dev/hd2:69836 1 0 - -