C# で記述されたアプリで何が起こっているのかを理解しようとしています。以下は、パフォーマンス モニターから取得したいくつかの画像です。青い線は、すべてのヒープの #Bytes です。緑の線はラージ オブジェクト ヒープ サイズです。アプリを起動してログインします。アプリはアイドル状態のままです。最初の画像は、何らかの理由で LOH が増加し、その後低下することを示しています。パターンは非常に明確です。そのような行動の責任は何ですか?
もっと。ODP.NET を介して Oracle データベースを使用して、A (下の画像を参照) で始まるいくつかの重い処理を行います。その後、アプリは再びアイドル状態になります。LOH はドロップしません。代わりに、何らかの理由で増加し続けます。アプリケーションがアイドル状態であることに注意してください。デスクトップで開いているだけです。私はそれと対話していません。
メモリは増加し続けます (各画像は 1:15:00 を表します)。
2 時間以上経過すると、急激に減少し、しばらくすると、最初の画像のように再び増加/減少し始めます (以下を参照)。アプリは常にアイドル状態です。何が起こっている?メモリリークですか?私はそうは思わない。アプリのプロファイルを作成しましたが、何も見つかりませんでした。また、LOH は何もしなくても増加します。Oracle データベースとの開いている接続がありません。ODP.NET が原因でしょうか?