2010-12-28 37 views
0

少し文脈FileSystemWatcherとシステムアウト

私はすべての活動を行うことなく、2〜3日間開かれたまま、WPFベースのアプリケーションがありますが、メモリ不足の例外スロー、これは非常に奇妙な状況で、すべての時間に起こるわけではありません。この理想的な活動の間、私のアプリケーションは何の活動もしませんが、ファイルシステムウォッチャーだけが共有位置を連続的に見ているので、問題になると思っていましたが、わかりません。どんな提案も常に歓迎されます。

+2

あなたが共有できるコードはありますか? – BrokenGlass

+1

コードを見ずにメモリリークを見つけるのは難しいです。 –

+0

:残念なことに私はオフィスネットワークにいません! – TalentTuner

答えて

1

FileSystemWatcherイベントが発生したときにリスト\コレクションに何かを追加していますか?これを直接的に、あるいは間接的に間接的に行うこともできます。

これは最終的にOOMにつながり、イベントがいくつあったかに依存するため、OOMに到達するまでの時間は非常に変動する可能性があります。

FileSystemWatcherは単独ではOOMをリードしません。 internal bufferを維持しますが、FSWイベントを介してファイルシステムのイベントデータをすばやく取得できない場合は、バッファを上書きします。

だから、FileSystemWatcherは単独でOOMにつながることはありません。内部バッファメカニズムは、設計上この可能性を排除します。

+0

変更を見ているだけで、ファイルに書き込むよりもchagesがある場合は、FSWが見ている場所にまったくまれに変更します。 – TalentTuner

+0

@Saurabh私は自分の質問を更新しました。内部バッファを上書きするように設計されています。これは、あまりにも多くのメモリを消費しないようにする設計機能です。 –

+0

情報のために内部バッファーに感謝します。 :) – TalentTuner

1

(Windows用のDebugger Toolsのデバッガ、Windows SDKに含まれています。最近はVSに組み込まれていました)には、管理対象ヒープに関する統計情報をダンプするコマンドが含まれています。どんな種類の種類が割り当てられているかを含む。これは、どのオブジェクトが収集されていないかを識別するのに役立ちます(おそらく、クリアされるべきである参照を介して)。

これはあなたが開始できるはずです:http://blogs.msdn.com/b/tess/archive/2005/11/25/496973.aspx

+0

+1:windbgの言及のために – TalentTuner

関連する問題