svmon概述

svmon概述

創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設、高性價比佳縣網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式佳縣網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設找我們,業(yè)務覆蓋佳縣地區(qū)。費用合理售后完善,十載實體公司更值得信賴。

svmon 命令用于顯示當前內(nèi)存狀態(tài)的信息,可通過

#lslpp bos.perf.tools
查看是否有安裝。因為 svmon 命令在啟用中斷的用戶級別運行,所以顯示的信息不組成真正的內(nèi)存快照。在非常繁忙的系統(tǒng)中,svmon收集的數(shù)據(jù)和真實的數(shù)據(jù)有所差距,在svmon進程搜集的過程中,VMM(虛存管理器)可能已經(jīng)發(fā)生改動了。
因為svmon使用的全是VMM中的數(shù)據(jù),而VMM對內(nèi)存的視圖是基于內(nèi)存段的,所以,理解svmon的輸出,必須先理解段的概念。


段(segment)是一組頁的合集,用來報告內(nèi)存消耗的基本對象。因此 svmon 所報告的統(tǒng)計信息是以頁面表示的。每個段為256M,而每頁為4KB字節(jié)的虛存,每幀為4KB字節(jié)的實存,每個段可同時被多個進程使用,每個段屬于以下五種類型其中的一種:
persistent:存放JFS文件或目錄
working:進程數(shù)據(jù)區(qū)域和共享內(nèi)存段
client:用于實現(xiàn)虛擬文件系統(tǒng)如NFS,CD-ROM文件系統(tǒng)和JFS2
mapping:用于實現(xiàn)文件和內(nèi)存之間的映射關系
real memory mapping:用于對I/O空間的訪問
svmon參數(shù)詳解

-aSupClassName

將范圍限于 SupClassName類參數(shù)的子類(在層報告 -T中)。參數(shù)是超類名。不支持類列表。

-b

顯示所有顯示幀的引用和修改位的狀態(tài)(詳細報告 -D)。顯示時,重新設置幀的引用位。使用 -i標志時,會檢測在每個間隔間存取的幀。

注:

因為該標志會影響性能,所以請謹慎使用。

-c

表示統(tǒng)計信息中只包含客戶段。缺省情況下會分析所有段。

-CCommand1...CommandN

顯示運行命令名 Commandnm1...CommandnmN的進程的內(nèi)存使用統(tǒng)計信息。Commandnm是字符串。它是可執(zhí)行文件精確的基本名。

-d

對于給定實體,顯示屬于該實體(用戶名或命令名)的進程的內(nèi)存統(tǒng)計信息。

-DSID1...SIDN

顯示段 SID1...SIDN的內(nèi)存使用統(tǒng)計信息和每個段所有幀的詳細狀態(tài)。指定的段標識符必須關于主段。

-e

顯示 Class 參數(shù)的子類的內(nèi)存使用統(tǒng)計信息(該參數(shù)在工作負載類報告 -W和層報告 -T中)。-W或 -a類參數(shù)需要是超類名稱。

-f

表示統(tǒng)計信息中只包含持久段(文件)。缺省情況下會分析所有段。

-F [ Frame1...FrameN ]

顯示幀 Frame1...FrameN狀態(tài),包含其所屬的段。如果沒有供應幀列表,那么會顯示所用內(nèi)存的百分比。

-g

表示要顯示的信息按照在調(diào)頁空間上保留或使用的頁面總數(shù)的降序排列。這個標志結合段報告改變了排序列表末尾的非工作段。

-G

顯示全局報告。

-iInterval [ NumIntervals]

指示 svmon命令重復顯示統(tǒng)計信息。每個 Interval秒就收集和打印統(tǒng)計信息。NumIntervals是重復的次數(shù);如果未指定,那么 svmon一直運行到用戶使用 Ctrl-C 中斷為止。

注:

因為需要花費幾秒來收集某些選項的統(tǒng)計信息,所以觀察到的時間間隔可能比指定的時間間隔大。

-j

顯示每個持久段引用的文件路徑。

注:

因為該標志會對性能產(chǎn)生潛在的影響(特別是svmon -S),所以請謹慎使用。

-l

每個顯示的段都會顯示使用段的進程標識符列表,并且根據(jù)報告類型顯示進程所屬的實體名(登錄、命令、層或類)。對于特別的段,會顯示標號而不是進程標識符列表。

系統(tǒng)段

顯示標志為 system的段的標號。

未使用段

此標號將顯示所有的現(xiàn)有進程都未使用的段。例如,與文件相關的持久段不再使用。

共享庫文本

顯示包含共享庫文本的段的標號,可能大部分進程都使用該共享庫文本(例如,libc.a)。這將阻止顯示進程的長列表。

-m

段映射源段時,顯示關于源段的信息并映射段。缺省值是只顯示關于映射段的信息。

-n

表示統(tǒng)計信息中只包含非系統(tǒng)段。缺省情況下會分析所有段。

-p

表示將要顯示的信息按照帶固定內(nèi)存的頁面總數(shù)降序排列。

-P [ PID1... PIDN]

顯示進程 PID1...PIDN的內(nèi)存使用統(tǒng)計信息。PID是一個十進制的值。如果沒有供應進程標識符(PID)列表,那么就會顯示所有活動進程的內(nèi)存使用統(tǒng)計信息。

-q

根據(jù)它們是否處理大頁面而過濾結果。另外,它顯示大頁面度量值。

-r

顯示已分配的段頁面內(nèi)的范圍。因為頁面可從兩端開始然后向中間移動而得到分配,所以工作段可能具有兩個范圍。

-s

表示統(tǒng)計信息中只包含系統(tǒng)段。缺省情況下會分析所有段。

-S [ SID1...SIDN ]

顯示段 SID1...SIDN的內(nèi)存使用統(tǒng)計信息。SID是一個十六進制的值。指定的段標識符必須關于主段。如果沒有供應段標識符(SID)列表,那么就會顯示所有定義的段的內(nèi)存使用統(tǒng)計信息。

-tCount

顯示要打印的最高 Count對象的內(nèi)存使用統(tǒng)計信息

-T [ Tier1...TierN ]

顯示所有層號 Tier1...TierN的類的內(nèi)存使用統(tǒng)計信息。如果沒有供應層列表,那么就會顯示所有定義的層的內(nèi)存使用統(tǒng)計信息。

-u

表示要顯示的信息按照實內(nèi)存的頁面總數(shù)降序排列。如果無下列標志出現(xiàn),這就是缺省的排序標準:-p、-g和 -v。

-U [ LogName1...LogNameN ]

顯示登錄名 LogName1...LogNameN的內(nèi)存使用統(tǒng)計信息。Logname是一個字符串,它是精確的登錄名。如果沒有提供登錄標識符列表,那么就會顯示所有定義的登錄標識符的內(nèi)存使用統(tǒng)計信息。

-v

表示要顯示的信息按照虛擬空間的頁面總數(shù)降序排列。這個標志結合段報告改變了排序列表末尾的非工作段。

-w

表示統(tǒng)計信息中只包含工作段。缺省情況下會分析所有段。

-W [ Clnm1...ClnmN ]

顯示工作負載管理類 Clnm1...ClnmN的內(nèi)存使用統(tǒng)計信息。Clnm是一個字符串。它是一個類的精確名稱。對一個子類來說,名稱應該具有 superclassname.subclassname的格式。如果沒有提供類名列表,那么就會顯示所有定義的類名的內(nèi)存使用統(tǒng)計信息。

-x

顯示層報告 -T中對某個層的每個類的段的內(nèi)存使用統(tǒng)計信息。

-z

顯示在執(zhí)行 svmon過程中動態(tài)分配的最大內(nèi)存大小。

具體使用范例

1、全局統(tǒng)計信息

#svmon -G
size inuse free pin virtual mmode
memory 3932160 2729499 1202661 818627 1616925 Ded
pg space 8388608 8595

work pers clnt other
pin 675474 0 2801 140352
in use 1616925 0 1112574

PageSize PoolSize inuse pgsp pin virtual
s 4 KB - 1966891 8595 209571 854317
m 64 KB - 47663 0 38066 47663

其中

inuse-------已使用的

free---------空閑的

pin-----“釘”在內(nèi)存中的內(nèi)存段(筆者認為這不是固定內(nèi)存段)

virtual-----虛擬內(nèi)存段

work------工作內(nèi)存段

pers-------固定內(nèi)存段

other-------mapping和real mapping memory

PageSize-----不同內(nèi)存頁大小的統(tǒng)計情況,s為常規(guī)頁面,大小為4k,m為大頁面大小為64k。

pgsp------分頁空間的使用情況
注意,在段的描述中,如果paging space使用的節(jié)中如果有一橫(-),表明該段未使用交換區(qū),work段可能使用交換區(qū),但persistent段和client段不會使用交換區(qū)。
2、打印 1/2 小時中每分鐘的全局統(tǒng)計信息,請輸入:
#svmon -G -i 60 30

3、要打印出只考慮工作段的用戶 root 和 steve 的內(nèi)存使用統(tǒng)計信息,請輸入:
#svmon -U root oracle -w

===============================================================================
User Inuse Pin Pgsp Virtual
oracle 558293 16880 0 558293

PageSize Inuse Pin Pgsp Virtual
s 4 KB 515157 80 0 515157
m 64 KB 2696 1050 0 2696

........................................................................................
SYSTEM segments Inuse Pin Pgsp Virtual
13129 8552 0 13129

PageSize Inuse Pin Pgsp Virtual
s 4 KB 3785 72 0 3785
m 64 KB 584 530 0 584

Vsid Esid Type Description PSize Inuse Pin Pgsp Virtual
20002 0 work kernel segment m 584 530 0 584
以上省略一部分輸出。。。。

用戶運行的進程所使用的段分成三個類別:
系統(tǒng):所有進程共享的段
互斥:屬于oracle 的進程集所使用的段
共享:幾個用戶共享的段。

其中

Vsid:表示虛擬段標識符。表示在虛擬內(nèi)存管理器中的唯一段。

Esid: 表示有效的段標識符。Esid只有在段屬于進程的地址空間時才有效。提供時,它表示進程如何使用段。如果 vsid 段被幾個進程映射,但具有不同的 esid 值, 那么該字段包含“-”。如果是那樣的話,那么通過應用于使用該段的每個進程標識符的 -P 標志,可以獲得精確的 esid 值。因為用于管理打開的文件或多線程結構的段不是進程的用戶地址空間的一部分,所以也對這些段顯示“-”。

3、可將使用實存最多的三個進程標出

# 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
4、可將使用交換區(qū)最多的三個進程標出

# svmon -gP -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
第一個程序X所使用的交換區(qū)大小約為 2566×4096 =10510336 字節(jié),大約為10MB空間
5、每隔三秒顯示使用最多的段
# 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的段使用最多
6、看PID為22674的進程所使用的為固定內(nèi)存
#svmon -pP 22674

7、要打印出段 700e 8811 和 bed7 的內(nèi)存使用統(tǒng)計信息,請輸入:
#svmon -S 700e 8811 bed7 1cf8e

8、打印出命令 login,ksh的內(nèi)存使用統(tǒng)計信息, 包括地址范圍,請輸入:

#svmon -C login ksh -r

9、要打印出只考慮非系統(tǒng)工作段的所有進程的內(nèi)存使用統(tǒng)計信息,并且根據(jù)虛擬頁面數(shù)對該進程排序,請輸入:
#svmon -P -n -w -v

10、根據(jù)實內(nèi)存的頁數(shù)將系統(tǒng)段排序,并且打印出結果列表中最高的 10 個系統(tǒng)段,請輸入:
#svmon -S -s -u -t 10
11、只打印大頁面段,請輸入:
#svmon -S -q

常見問題分析
svmon -S中inuse的求和結果比svmon -G中的inuse小
下面的腳本可以用來統(tǒng)計svmon -S中的inuse的相加結果:
==============================================
#!/usr/bin/ksh
svmon -S | cut -c54-62 | awk '/^[-sLm]/ {if ($1 ~ /L/)
{COUNT1 =($2*4096+COUNT1)}
else if ($1 ~ /m/)
{COUNT2 =($2*16+COUNT2)}
else {COUNT3 =$2+COUNT3}}
END {printf "The result is as following with 4k as unit size\n16M page count=%d\n64k page count=%d\n4k page count=%d\nTatal page count=%d\n", COUNT1,COUNT2,COUNT3,'COUNT1+COUNT2+COUNT3'}'
========================================================
那么,產(chǎn)生這種差別的原因是什么呢?解釋如下:
svmon -S用來顯示系統(tǒng)中所有內(nèi)存段(segment)的內(nèi)存使用信息。AIX上僅存在三種內(nèi)存段,它們是work,client和persistent。因此,統(tǒng)計svmon -S中inuse的和就是將被使用的上述三種內(nèi)存段進行求和。但是,這種統(tǒng)計并沒有將系統(tǒng)上所有的被使用的內(nèi)存頁面統(tǒng)計進來。系統(tǒng)里存在著一些尚未被VMM管理的內(nèi)存頁面(mapping和real mapping memory),這些頁面已經(jīng)被使用,但是不屬于上述三種內(nèi)存段,因此在svmon -S中體現(xiàn)不出來。而svmon -G則包含了這些未被管理的頁面。
這些未被VMM管理的內(nèi)存主要是被硬件使用,用來對物理內(nèi)存做一些設置。在AIX 5L中,可以通過在kdb執(zhí)行vmstat來查看未被管理的內(nèi)存,輸出如下:
VMM Memory Limits:
Total available memory (4K frames) : 00100000 4.0GB
Total unmanaged mem (wlm_hw_pages): 0000D639 214.3MB

4K number of frames : 000F29C7 3.8GB
4K frames pinned : 00009FEE 160.0MB
4K system pinnable frames remaining: 000B817E 2.9GB
4K user pinnable frames remaining : 000BC0BC 3.0GB

Free paging space (in 4K blocks) : 0001FD00 509.0MB
Paging space SIGDANGER level : 00001000 16.0MB
Paging space SIGKILL level : 00000400 4.0MB
其中“unmanaged mem”就代表這類未被VMM管理的內(nèi)存頁面

參考至:http://www.eygle.com/digest/2009/07/ibm_aix_svmon.html

http://www.kuqin.com/aixcmds/aixcmds5/svmon.htm#c013820260joy

http://www-900.ibm.com/cn/support/viewdoc/detail?DocId=2811998D15000

 


文章標題:svmon概述
文章來源:http://muchs.cn/article28/gdiijp.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設響應式網(wǎng)站、手機網(wǎng)站建設小程序開發(fā)、網(wǎng)站排名、搜索引擎優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)