C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 79 を表示中)
■47051 / )  各オブジェクトのメモリ使用量監視
□投稿者/ alvin (56回)-(2010/02/17(Wed) 14:13:36)

分類:[.NET 全般] 

2010/02/17(Wed) 14:17:19 編集(投稿者)

いつもお世話になっております。
早速、本題に入ります。

環境:VISTA VS2008
言語:VB.NET3.5

他のプロセスから通知を受けて、共有メモリからデータを取得して、
DataGridViewに最大3000件表示する画面があります。

問題は長期間(48時間)画面を起動しっ放しにすると、メモリ使用量が肥大化する現象があります。
ここで、画面で使用する各オブジェクトのメモリ使用量を監視したいですが、
1.それ用のソフトなんかあいますか?

現在は、タイマでオブジェクトのバイナリサイズを取得して、ログ出力してますが、
2.使用しているすべての変数を対象にするためにはどうすればいいでしょうか?
もしくは、使用済みで開放してない変数がどれなのかを確認する方法はあるでしょうか?

現在は可記のように。
Private Function GetSerializedLength(ByVal objGraph As Object) As Long

Dim stream = New System.IO.MemoryStream()
Dim writer = New System.IO.BinaryWriter(stream)

Dim b = New System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
b.Serialize(writer.BaseStream, objGraph)

writer.Flush()

Dim size = stream.Length
stream.Close()

Return size
End Function



返信 編集キー/


管理者用

- Child Tree -