svmon -P 命令顯示系統上當前正在運行的全部進程的內存使用狀況統計信息。 app
# svmon -P -------------------------------------------------------------------------------- Pid Command Inuse Pin Pgsp Virtual 64-bit Mthrd 16MB 16264 IBM.ServiceRM 10075 3345 3064 13310 N Y N PageSize Inuse Pin Pgsp Virtual s 4 KB 10075 3345 3064 13310 L 16 MB 0 0 0 0 Vsid Esid Type Description PSize Inuse Pin Pgsp Virtual f001e d work shared library text s 4857 0 36 6823 0 0 work kernel seg s 4205 3335 2674 5197 b83f7 2 work process private s 898 2 242 1098 503ea f work shared library data s 63 0 97 165 c8439 1 pers code,/dev/hd2:149841 s 28 0 - - 883f1 - work s 21 8 14 26 e83dd - pers /dev/hd2:71733 s 2 0 - - f043e 4 work shared memory segment s 1 0 1 1 c0438 - pers large file /dev/hd9var:243 s 0 0 - - b8437 3 mmap mapped to sid a03f4 s 0 0 - - 583eb - pers large file /dev/hd9var:247 s 0 0 - - -------------------------------------------------------------------------------- Pid Command Inuse Pin Pgsp Virtual 64-bit Mthrd 16MB 17032 IBM.CSMAgentR 9791 3347 3167 12944 N Y N PageSize Inuse Pin Pgsp Virtual s 4 KB 9791 3347 3167 12944 L 16 MB 0 0 0 0 Vsid Esid Type Description PSize Inuse Pin Pgsp Virtual f001e d work shared library text s 4857 0 36 6823 0 0 work kernel seg s 4205 3335 2674 5197 400 2 work process private s 479 2 303 674 38407 f work shared library data s 120 0 127 211 a83f5 1 pers code,/dev/hd2:149840 s 99 0 - - 7840f - work s 28 10 27 39 e83dd - pers /dev/hd2:71733 s 2 0 - - babf7 - pers /dev/hd2:284985 s 1 0 - - 383e7 - pers large file /dev/hd9var:186 s 0 0 - - e03fc - pers large file /dev/hd9var:204 s 0 0 - - f839f 3 mmap mapped to sid 5840b s 0 0 - - [...]該命令輸出詳細描述了每一個進程的全局內存使用狀況,以及每一個報告的進程所使用的每一個段的內存使用詳細狀況。缺省的排序規則是按照 Inuse 頁面計數降序排列。 運行 svmon 命令時帶 -u、 -p、 -g 或 -v 標誌之一,可更改排序規則。
要得到系統上使用內存的前 15 個進程摘要,請使用如下命令: spa
# svmon -Pt15 | perl -e 'while(<>){print if($.==2||$&&&!$s++);$.=0 if(/^-+$/)}' -------------------------------------------------------------------------------- Pid Command Inuse Pin Pgsp Virtual 64-bit Mthrd 16MB 16264 IBM.ServiceRM 10075 3345 3064 13310 N Y N 17032 IBM.CSMAgentR 9791 3347 3167 12944 N Y N 21980 zsh 9457 3337 2710 12214 N N N 22522 zsh 9456 3337 2710 12213 N N N 13684 getty 9413 3337 2710 12150 N N N 26590 perl5.8.0 9147 3337 2710 12090 N N N 7514 sendmail 9390 3337 2878 12258 N N N 14968 rmcd 9299 3340 3224 12596 N Y N 18940 ksh 9275 3337 2710 12172 N N N 14424 ksh 9270 3337 2710 12169 N N N 4164 errdemon 9248 3337 2916 12255 N N N 3744 cron 9217 3337 2770 12125 N N N 11424 rpc.mountd 9212 3339 2960 12290 N Y N 21564 rlogind 9211 3337 2710 12181 N N N 26704 rlogind 9211 3337 2710 12181 N N N
Pid 16264 是消耗內存最多的進程標識。Command 指出命令名,本例中爲 IBM®.ServiceRM。Inuse 列顯示了 10075 頁,該列是該進程所使用的段的實內存總頁數。每一頁大小爲 4 KB。Pin 列顯示 3345 頁,該列爲該進程所使用的段的固定總頁數。Pgsp 列顯示 3064 頁,該列是該進程所使用的調頁空間頁的總數。Virtual 列(進程虛擬空間中的總頁數)顯示 13310 頁。 3d
細節區域顯示了摘要區域中顯示的每一個進程的每一段的信息。這包括虛擬 Vsid 和有效 Esid 段標識。Esid 反映了用於訪問相應頁的段寄存器。還顯示了段的類型及其描述,該描述爲段的文本描述,包括卷名以及永久段的文件索引節點。該報告還詳細描述了支持段的頁面的大小(其中 s 表示 4 KB 頁面,L 表示 16 MB 頁面)、RAM 中的頁數 Inuse、RAM 中的固定頁數 Pin、調頁空間中的頁數 Pgsp 以及虛擬頁數 Virtual。 code
# svmon -S f001e 400 e83dd -l -r -j Vsid Esid Type Description PSize Inuse Pin Pgsp Virtual f001e d work shared library text s 4857 0 36 6823 Addr Range: 0..60123 Shared library text segment 400 2 work process private s 480 2 303 675 Addr Range: 0..969 : 65305..65535 pid(s)=17032 e83dd - pers /dev/hd2:71733 s 2 0 - - /usr/lib/nls/loc/uconvTable/ISO8859-1 Addr Range: 0..1 pid(s)=17552, 17290, 17032, 16264, 14968, 9620
Address Range 爲永久段或者客戶機段指定一個範圍或者爲工做段指定兩個範圍。永久段或者客戶機段的範圍用‘0..x’的形式來表示,其中 x 是已使用的虛擬頁面的最大數目。工做段的字段範圍能夠是‘0..x : y..65535’,其中 0..x 包含了全局數據,會增大,而 y..65535 包含了堆棧區域,會減少。對於一個工做段的地址範圍,是從兩邊開始分配空間直到中間。若是工做段是非私有的(內核或共享庫),空間的分配是不一樣的。 排序
在以上示例中,段標識 400 是專用工做段;它的地址範圍是 0..969 : 65305..65535。段標識 f001e 是共享庫文本工做段;它的地址範圍是 0..60123。 索引
一個段可由多個進程使用。這樣的段裏的每個實內存頁解釋了每一個使用該段的進程的 Inuse 字段。所以,Inuse 的總數可能超過實內存中的頁面總數。這對 Pgsp 和 Pin 字段一樣適用。摘要部分中顯示的值由進程使用的全部段的Inuse、Pin、Pgsp 和 Virtual 計數器的總和組成。 進程
在以上示例中,e83dd 段由若干進程使用,這些進程的 PID 是 1755二、17290、1703二、1626四、14968 和 9620。 ip