スポンサーサイト

--年--月--日 --:--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

NSD : Top 10 - Process memory usage

2009年06月30日 00:15

前回は共有メモリの占有率の高いブロックを特定する方法について紹介しました。
今日は同様にして、プロセスメモリを見る方法を確認してみましょう。


基本的には共有メモリと同じなので、以下のようなフォーマットになっています。


#------ Top 10 [ nserver:116c] Memory Block Usage:
BY SIZE | BY HANDLE COUNT
Type TotalSize Handles | Type Handles TotalSize
---------------------------- | ----------------------------
0x0149 43472 8 | 0x0130 119 43316
0x0130 43316 119 | 0x0380 72 33552
0x0380 33552 72 | 0x030a 48 16128
0x0317 20728 11 | 0x0910 41 3512
0x0146 17408 1 | 0x0275 38 4408
0x030a 16128 48 | 0x0f02 28 3080
0x0128 10480 1 | 0x4129 14 0
0x0275 4408 38 | 0x0317 11 20728
0x02c6 4096 1 | 0x0149 8 43472
0x0910 3512 41 | 0x0f5d 2 220
-----------------------------------------------------------


最新のバージョンではこのようなフォーマットになります。
手元にあるのがクライアントのNSDだけだったので、クライアントのものを掲載します。
<@@ ------ Notes Memory -> Usage Summary -> Top 10 Memory Block Usage -> 16 bit Handles By Size :: [ nlnotes: 0bc4] (Time 17:07:00) ------ @@>

Type TotalSize Count Typename
-----------------------------------------------------------
0x024b 9833602 341 BLK_OPENED_NOTE
0x0c01 6496596 203 BLK_DOC
0x2f0d 3227452 261 BLK_LSWRAP_SCRIPT
0x0149 1506376 267 BLK_PHTCHUNK
0x1803 1217220 25 BLK_DESK_DESIGNLIST
0x0b85 1189898 145 BLK_ACTION_POOL
0x11b3 719448 11 ???
0x1803 689688 12 BLK_DESK_DESIGNLIST
0x0307 484160 10 BLK_INDEXENTRIES
0x0a04 261624 4 BLK_NET

<@@ ------ Notes Memory -> Usage Summary -> Top 10 Memory Block Usage -> Memhandles By Size :: [ nlnotes: 0bc4] (Time 17:07:00) ------ @@>

Type TotalSize Count Typename
-----------------------------------------------------------
0x4129 7864320 15 BLK_LOCAL
0x0440 596714 9807 BLK_SITEMAP_DATAENTRY
0x0168 393248 3 BLK_LOCAL_BLOCK
0x2f0e 224062 189 BLK_IDE_DVECTOR
0x0f66 147370 1835 BLK_RSRCLNK_DATA
0x10af 131074 1 BLK_NEM_STATBAR_MSG_TO_FILE
0x0b0d 125922 274 BLK_TOKENEDIT
0x0c24 65054 12 BLK_GR_SEGBITS
0x0bc3 56062 110 BLK_ACTION_PANE_EVENT_ENTRY
0x0f67 50438 670 BLK_RSRCLNK_SERVERHINT




それぞれの列は以下のように理解します。

Type: メモリブロックの種類をあらわす16進の数値
TypeName: 上のタイプに付けられている名前
TotalSize: 実際にアロケートされているサイズ(バイト)
Count: 使用されている数

TypeとTypeNameが前回も分かりにくく感じたかもしれないですが、これは数字で表記するか文字で表記するかだけの違いだと思ってもらえればいいんじゃないかと思います。

ちなみに、Type で0x4129のように、0x4000 を含むものはマスクしてあると考えてください。
なので、0x4129は0x0129と同じです。
0x8000は共有メモリをあらわしますが、0x4000はここでは単純にプロセスヒープと言う意味ではなく、別の意味を持つのですが同じものだ、と言う事が分かれば十分なのでここでは置いておきます。

NSDもだいぶ回を重ねてきて見れる場所が増えてきたのではないでしょうか。
でもNSDはまだまだあります。





コメント

  1. hattsu | URL | mQop/nM.

    Re: NSD : Top 10 - Process memory usage

    C API のヘッダファイルがここら辺の参考になりますよね。
    (nsferror.h とか)

  2. 長島 広隆 | URL | -

    IDは同じですが別ですね

    nsferror.h とかはエラーコードの話なのでブロックの番号とは別です。
    一応ToolkitのヘッダーファイルをGrepしてみましたが該当するヘッダーファイルは含まれていなかったです。APIではこの辺のコードを使う必要ないので当然と言えば当然なのですが少しわかりにくいですね。

コメントの投稿

(コメント編集・削除に必要)
(管理者にだけ表示を許可する)

トラックバック

この記事のトラックバックURL
http://hnagasim.blog8.fc2.com/tb.php/181-041f3d02
この記事へのトラックバック


最新記事


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。