2010-11-26 11 views
3

ガベージコレクタのパフォーマンスをプロファイルし、3世代を監視する方法を知りたいと思います。 gen0,gen1,gen2に住んでいる現在のオブジェクトが何であるかをいつでも知ることができるかどうかは疑問です。.netガベージコレクタのプロファイル方法?

答えて

5

useful information on GC performance from PerfMonを入手することもできます。

は多くの.NETメモリのパフォーマンス カウンターがあり、これは カウンターデータを解釈して、あなたに いくつかのガイドラインを与えることを意味しているとどのように にそれらを相関させます。これは、基本的なGCの理解を としていることを前提としています。

あなたがPerformance/Profiling Toolsが含まれてのVisual Studioのプレミアムバージョンのいずれかを持っている場合は、個々のオブジェクトの割り当てと寿命についての詳細情報を取得することができます。具体的には、これはあなたが望んだの領域にされる可能性があります。

ガベージコレクタは オブジェクトの世代全体の割り当てを解除することにより、メモリ を再利用します。プロファイルされた アプリケーションで作成されたオブジェクトの場合、オブジェクト ライフタイムビューには、オブジェクトの数と のサイズと、再生時の世代 が表示されます。

本当に冒険している場合は、Profiling Tools APIを使用してカスタムプロファイリングを行うことができます。

1

The CLR profiler could do thisですが、2.0、3.5、4.0、2.0のターゲットアプリでは積極的に更新されていないと思われます。リンクされたバージョンでこれを行うことができます。

+0

2.0 CLRで3.5が実行されます。 – Lucero

1

JetBrains DotTraceをご覧ください。

関連する問題