svmon概述
svmon 命令用于顯示當(dāng)前內(nèi)存狀態(tài)的信息,可通過
#lslpp bos.perf.tools
查看是否有安裝。因為 svmon 命令在啟用中斷的用戶級別運行,所以顯示的信息不組成真正的內(nèi)存快照。在非常繁忙的系統(tǒng)中,svmon收集的數(shù)據(jù)和真實的數(shù)據(jù)有所差距,在svmon進(jìn)程搜集的過程中,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é)的實存,每個段可同時被多個進(jìn)程使用,每個段屬于以下五種類型其中的一種:
persistent:存放JFS文件或目錄
working:進(jìn)程數(shù)據(jù)區(qū)域和共享內(nèi)存段
client:用于實現(xiàn)虛擬文件系統(tǒng)如NFS,CD-ROM文件系統(tǒng)和JFS2
mapping:用于實現(xiàn)文件和內(nèi)存之間的映射關(guān)系
real memory mapping:用于對I/O空間的訪問
svmon參數(shù)詳解
-aSupClassName | 將范圍限于 SupClassName類參數(shù)的子類(在層報告 -T中)。參數(shù)是超類名。不支持類列表。 |
-b | 顯示所有顯示幀的引用和修改位的狀態(tài)(詳細(xì)報告 -D)。顯示時,重新設(shè)置幀的引用位。使用 -i標(biāo)志時,會檢測在每個間隔間存取的幀。 注: 因為該標(biāo)志會影響性能,所以請謹(jǐn)慎使用。 |
-c | 表示統(tǒng)計信息中只包含客戶段。缺省情況下會分析所有段。 |
-CCommand1...CommandN | 顯示運行命令名 Commandnm1...CommandnmN的進(jìn)程的內(nèi)存使用統(tǒng)計信息。Commandnm是字符串。它是可執(zhí)行文件精確的基本名。 |
-d | 對于給定實體,顯示屬于該實體(用戶名或命令名)的進(jìn)程的內(nèi)存統(tǒng)計信息。 |
-DSID1...SIDN | 顯示段 SID1...SIDN的內(nèi)存使用統(tǒng)計信息和每個段所有幀的詳細(xì)狀態(tài)。指定的段標(biāo)識符必須關(guān)于主段。 |
-e | 顯示 Class 參數(shù)的子類的內(nèi)存使用統(tǒng)計信息(該參數(shù)在工作負(fù)載類報告 -W和層報告 -T中)。-W或 -a類參數(shù)需要是超類名稱。 |
-f | 表示統(tǒng)計信息中只包含持久段(文件)。缺省情況下會分析所有段。 |
-F [ Frame1...FrameN ] | 顯示幀 Frame1...FrameN狀態(tài),包含其所屬的段。如果沒有供應(yīng)幀列表,那么會顯示所用內(nèi)存的百分比。 |
-g | 表示要顯示的信息按照在調(diào)頁空間上保留或使用的頁面總數(shù)的降序排列。這個標(biāo)志結(jié)合段報告改變了排序列表末尾的非工作段。 |
-G | 顯示全局報告。 |
-iInterval [ NumIntervals] | 指示 svmon命令重復(fù)顯示統(tǒng)計信息。每個 Interval秒就收集和打印統(tǒng)計信息。NumIntervals是重復(fù)的次數(shù);如果未指定,那么 svmon一直運行到用戶使用 Ctrl-C 中斷為止。 注: 因為需要花費幾秒來收集某些選項的統(tǒng)計信息,所以觀察到的時間間隔可能比指定的時間間隔大。 |
-j | 顯示每個持久段引用的文件路徑。 注: 因為該標(biāo)志會對性能產(chǎn)生潛在的影響(特別是svmon -S),所以請謹(jǐn)慎使用。 |
-l | 每個顯示的段都會顯示使用段的進(jìn)程標(biāo)識符列表,并且根據(jù)報告類型顯示進(jìn)程所屬的實體名(登錄、命令、層或類)。對于特別的段,會顯示標(biāo)號而不是進(jìn)程標(biāo)識符列表。 系統(tǒng)段 顯示標(biāo)志為 system的段的標(biāo)號。 未使用段 此標(biāo)號將顯示所有的現(xiàn)有進(jìn)程都未使用的段。例如,與文件相關(guān)的持久段不再使用。 共享庫文本 顯示包含共享庫文本的段的標(biāo)號,可能大部分進(jìn)程都使用該共享庫文本(例如,libc.a)。這將阻止顯示進(jìn)程的長列表。 |
-m | 段映射源段時,顯示關(guān)于源段的信息并映射段。缺省值是只顯示關(guān)于映射段的信息。 |
-n | 表示統(tǒng)計信息中只包含非系統(tǒng)段。缺省情況下會分析所有段。 |
-p | 表示將要顯示的信息按照帶固定內(nèi)存的頁面總數(shù)降序排列。 |
-P [ PID1... PIDN] | 顯示進(jìn)程 PID1...PIDN的內(nèi)存使用統(tǒng)計信息。PID是一個十進(jìn)制的值。如果沒有供應(yīng)進(jìn)程標(biāo)識符(PID)列表,那么就會顯示所有活動進(jìn)程的內(nèi)存使用統(tǒng)計信息。 |
-q | 根據(jù)它們是否處理大頁面而過濾結(jié)果。另外,它顯示大頁面度量值。 |
-r | 顯示已分配的段頁面內(nèi)的范圍。因為頁面可從兩端開始然后向中間移動而得到分配,所以工作段可能具有兩個范圍。 |
-s | 表示統(tǒng)計信息中只包含系統(tǒng)段。缺省情況下會分析所有段。 |
-S [ SID1...SIDN ] | 顯示段 SID1...SIDN的內(nèi)存使用統(tǒng)計信息。SID是一個十六進(jìn)制的值。指定的段標(biāo)識符必須關(guān)于主段。如果沒有供應(yīng)段標(biāo)識符(SID)列表,那么就會顯示所有定義的段的內(nèi)存使用統(tǒng)計信息。 |
-tCount | 顯示要打印的最高 Count對象的內(nèi)存使用統(tǒng)計信息 |
-T [ Tier1...TierN ] | 顯示所有層號 Tier1...TierN的類的內(nèi)存使用統(tǒng)計信息。如果沒有供應(yīng)層列表,那么就會顯示所有定義的層的內(nèi)存使用統(tǒng)計信息。 |
-u | 表示要顯示的信息按照實內(nèi)存的頁面總數(shù)降序排列。如果無下列標(biāo)志出現(xiàn),這就是缺省的排序標(biāo)準(zhǔn):-p、-g和 -v。 |
-U [ LogName1...LogNameN ] | 顯示登錄名 LogName1...LogNameN的內(nèi)存使用統(tǒng)計信息。Logname是一個字符串,它是精確的登錄名。如果沒有提供登錄標(biāo)識符列表,那么就會顯示所有定義的登錄標(biāo)識符的內(nèi)存使用統(tǒng)計信息。 |
-v | 表示要顯示的信息按照虛擬空間的頁面總數(shù)降序排列。這個標(biāo)志結(jié)合段報告改變了排序列表末尾的非工作段。 |
-w | 表示統(tǒng)計信息中只包含工作段。缺省情況下會分析所有段。 |
-W [ Clnm1...ClnmN ] | 顯示工作負(fù)載管理類 Clnm1...ClnmN的內(nèi)存使用統(tǒng)計信息。Clnm是一個字符串。它是一個類的精確名稱。對一個子類來說,名稱應(yīng)該具有 superclassname.subclassname的格式。如果沒有提供類名列表,那么就會顯示所有定義的類名的內(nèi)存使用統(tǒng)計信息。 |
-x | 顯示層報告 -T中對某個層的每個類的段的內(nèi)存使用統(tǒng)計信息。 |
-z | 顯示在執(zhí)行 svmon過程中動態(tài)分配的大內(nèi)存大小。 |