リポジトリと NHibernate セッションを挿入するために Windsor を使用する ASP.NET MVC 3 アプリがあります。今日、初めて打ったOutOfMemoryException
。Transient
最初は、Windsor が作成していたオブジェクトをリリースしていないことが原因ではないかと考えました。簡単な実験として、私はそれらすべてをPerWebRequest
ライフスタイルに変えましたが、メモリ使用パターンに大きな影響を与えていないようです。まだ増加し続けています。
- キャッシングはしていません
- アンマネージド リソースは使用していません
- いくつかの匿名オブジェクトの JSON シリアル化を行っています
- ストレス テストに使用しているアクションは、小さな JSON オブジェクト (32 バイト) を返すだけなので、大きなオブジェクトはどこにも関与しません。
マネージ ヒープ サイズが安定している (Perfmon で検証済み) のに、IISExpress プライベート バイトが増加し続ける原因は何ですか?
これをデバッグするための適切なツールは何でしょうか? Perfmon はマネージド ヒープのリークを示さないため、CLR プロファイラーは役に立たない可能性があると思います。