私のアプリケーションのメモリリークのように見える問題が発生しています(アプリケーションが時間の経過と共にメモリを使用し、約1週間後にメモリがハングします)。メモリリークと脆弱な参照
私が書いたクラスに関連するリークを検出して修正しました(sos.dllで取得したヒープダンプと比較して速やかに明らかにしたものと比較して)。
現在、時間の経過とともに劇的に増加するのは、WeakReference
のインスタンスであり、一定の割合で1,000分の1秒あたりの増加率が新しいWeakReference
になります。
私のコードではWeakReference
を直接使用していません。自分自身を作成することはありません。
非常に多くのWeakReference
インスタンスが作成される原因は何ですか?私はVB.NETを使用してい
、のVisual Studio 2008と.NET 3.5
ORMを使用していますか? (Entity Framework、Linq-to-SQL、NHibernateなど)あなたのWebアプリケーションはありますか? – xanatos
Microsoftの[CLRプロファイラ](http://www.microsoft.com/download/en/details.aspx?id=16273)を使用して、参照を保持しているものを確認しようとしましたか? –
私のアプリはローカルアプリケーションです(シリアルポートまたはTCPソケットを介して他のデバイスと通信します)。私が使用する唯一のORMはLINQ2SQLです。これは頻繁に使用されていない第2の機能です(ユーザーがその機能を特に呼び出しない限り呼び出されません)。 ORMの部分をテストのためにアプリから完全に切り離して、もしそれがそうであると思えば、私はそれを切り捨てることができます。 –