AIX 查看進程的內存使用狀況

svmon -P 命令顯示系統上當前正在運行的全部進程的內存使用狀況統計信息。 app

下面是   svmon   -P  命令的示例:
# 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

您甚至能夠使用更多選項來獲取更多詳細信息。 -j  選項顯示永久段的文件的路徑。 -l  選項提供關於段的更多詳細信息, -r  選項顯示每一個段使用的內存範圍。下面是帶   -l-r    -j  選項的   svmon  命令的示例:
# 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

相關文章
相關標籤/搜索