ウィンザーを使ってリポジトリとNHibernateセッションを注入するASP.NET MVC 3アプリケーションがあります。今日、初めて、私はOutOfMemoryException
を打つ。ウィンザーが作成していたTransient
のオブジェクトをリリースしていなかったため、最初は私が思っていました。簡単な実験として、私はそれらのすべてをライフスタイルPerWebRequest
に変えましたが、メモリ使用パターンに大きな影響を与えているようには見えません。IISExpressプライベートバイトが管理されたヒープに大きな変更を加えることなく増加し続ける原因は何ですか?
- 私はストレスのために使用しているいくつかの匿名オブジェクト
- アクションのJSONのシリアル化を行う
- 私は任意のアンマネージリソース
- I 午前を使用していない任意のキャッシングをやっていませんよテストで小さなJSONオブジェクト(32バイト)が返されるため、大きなオブジェクトはどこにも含まれません。
IISExpressプライベートバイトが管理対象のヒープサイズは安定しています(Perfmonで検証済み)?
これをデバッグする正しいツールは何でしょうか?私は、Perfmonが管理されたヒープにリークを表示しないため、CLRプロファイラが役に立たないと仮定しています。
ウィンザーのバージョンは? –
私はWindsor 2.5.2.0を使用しています – Ragesh
私はちょうどSOSを使って、GCのヒープが実際約32MBほどであることを確認しました。しかし、w3wp.exeは713MBを使い切っていて、まだ登っています。何か案は? – Ragesh