プロセスごとのメモリー使用量
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 プロセスの要約を表示するには、次のコマンドを使用します。
# 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
このPid16 264 は、メモリー使用量が最も多いプロセス ID です。 このCommandコマンド名を示します。この場合、IBM®.ServiceRM.Inuse列 (プロセスによって使用されるセグメントからの実メモリー内のページの合計数) には、10 075 ページが表示されます。 各ページは 4 KB です。 このPin列 (プロセスによって使用されるセグメントから固定されたページの合計数) には、3 345 ページが表示されます。 このPgspプロセスによって使用されるページング・スペース・ページの合計数である列には、3 064 ページが表示されます。 「Virtual」欄 (プロセス仮想スペース内の合計ページ数) は、13 310 を示しています。
詳細セクションには、要約セクションに示されている各プロセスの各セグメントに関する情報が表示されます。 これには、仮想 Vsid および実効 Esid セグメント ID が含まれます。 Esid は、対応するページにアクセスするために使用されるセグメント・レジスターを反映します。 セグメントのタイプも、その記述 (永続セグメントのファイルのボリューム名と i ノードを含む、セグメントのテキスト記述) とともに表示されます。 レポートには、セグメントがバッキングされるページのサイズの詳細も示されます。ここで、 s は 4 KB ページを表し、 L は 16 MB ページ、RAM 内のページ数 Inuse、RAM 内のピン・ページ数Pin、ページング・スペース内のページ数 Pgsp、および仮想ページ数 Virtualを表します。
# 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永続セグメントまたはクライアント・セグメントの場合は 1 つの範囲を指定し、作業セグメントの場合は 2 つの範囲を指定します。 永続またはクライアント・セグメントの場合の範囲は、 「0..x,」の形式をとりますが、この x は今まで使用された仮想ページの最大数です。 作業セグメントの範囲フィールドは、「0..x : y..65535」とすることができます。0..x にはグローバル・データが含まれていて、 上方に向かって増え、y..65535 にはスタック領域が含まれていて、下方に向かって増えます。 アドレス範囲の場合、作業セグメントでは、スペースは両方の端から割り当てられ、 中央に向かって進みます。 作業セグメントが専用でない場合 (カーネルまたは共用ライブラリー)、 スペースは別の方法で割り当てられます。
上記の例では、セグメント ID は以下のようになります。400専用作業セグメントです。そのアドレス範囲は次のとおりです。0..969 : 65305..65535. セグメント IDf001e共用ライブラリー・テキスト作業セグメントです。そのアドレス範囲は次のとおりです。 0..60123.
セグメントは、複数のプロセスで使用することができます。 このようなセグメントからの実メモリー内の各ページは、以下のように処理されます。Inuseそのセグメントを使用する各プロセスのフィールド。 したがって、以下の合計は、Inuse実メモリー内のページの総数を超える可能性があります。 以下についても同じことが当てはまります。PgspおよびPinフィールド 要約セクションに表示される値は、以下の合計で構成されます。Inuse,PinおよびPgsp、およびプロセスによって使用されるすべてのセグメントの Virtual カウンター。
この例では、e83dd セグメントは、PID が 17552、17290、17032、16264、14968、および 9620 の、いくつものプロセスによって使用されています。