私は、C#、jquery、Javascript、Ajax、SQL など、複数の異なる言語を含む非常に大規模な ASP.NET プロジェクトに取り組んでいます。
このプロジェクトは Diallers で動作するため、番号を入力し、ヘッドセットを使用して相手側のクライアントと通信します。最近、クライアントの 1 人からメモリ使用量の上昇に関する苦情を受け取りました。メモリが非常に高くなり、システムが非常に遅く応答しなくなる前に約 25 回しかダイヤルできないため、ログアウトし、プログラムを閉じてからログインする必要があるとのことです。再び。(アプリケーションを処理する WebBrowser クラスがあります)。
メモリ リークを見つけようとして、根本的に異なる仕様の 2 つの異なるマシンでテストしました。
PC1:
CPU: ペンティアム 4 2 GHz
RAM: 512MB
OS:Windows XP SP3
PC2:
CPU: インテル Core i7 3770
メモリ: 8GB
OS: Windows 7 SP1
ここに私を悩ませ、私の脳を溶かすものがあります。私たちのクライアントは、XP と Windows 7 の両方のマシンを実行しています。両方で、同じ問題が発生します。つまり、それぞれ Internet Explorer 8 と Internet Explorer 9 です。私たちのオフィスでテストしたところ、XP マシンでのみ発生しました。メモリは 302 MB/512 MB を超えるまで上昇し、その後リセットして再び低下します。マシンとアプリケーションがアイドル状態のとき、メモリは一貫して増加しませんが、アプリケーションを使用するとメモリが増加し、ブラウザとは関係ないと思います。Windows 7 マシン、何をしても 100 MB を超えるメモリを取得できません。アプリケーションをアイドル状態のままにしておくと、メモリの一貫性が保たれます。奇妙なことに、これは多くのクライアントのうちの 1 つでしか報告されていません。他のクライアントにはこの問題はありません。
私たちのアプリケーションは、Ajax と jquery の多くの機能を利用しています。クライアントによって 8 と 9 で発生するため、Internet Explorer を除外し始めました。私は今jquery/Ajaxに傾いています。
私はこれに何日も費やしましたが、この問題を解決する方法がわかりません。干し草の山から針を見つけるようなものです。文字通り何でもかまいません。ウイルス対策やその他のアプリが問題を引き起こしているという記事を読んだことさえあります。
以下の記事を読みましたが、明確な答えはありません。
Internet Explorer 7/Backbone でメモリ リークが発生する可能性はありますか?
Internet Explorer での Javascript メモリ リーク
何か見落としがありましたら、お詫び申し上げます。誰かがアイデアを持っている場合は、共有してください。