3

奇妙な問題が発生しています。私たちの ASP.NET アプリケーションは、16Gb の RAM を搭載した 64 ビットの Windows 2008/IIS7 マシンで実行されています。w3wp.exe プロセスが 4Gb に達すると (サーバーのタスク マネージャーを介して単純に追跡します) -十分なメモリがまだ利用可能であっても、メモリ不足の例外がスローされます。

ASP.NET プロセスが 64 ビット システム (および 64 ビット アプリ プールを使用) で 4Gb のメモリに制限されているという既知の問題はありますか?

その制限を解除する方法はありますか?

4

1 に答える 1

1

どこかに未処理のリソースがあり、最終的にガベージコレクションが発生するように思えますが、ニーズに十分な速さではありません。SQLConnection オブジェクトを再利用しますか? それとも MailClient オブジェクトですか? それとも管理されていない Image オブジェクトですか?

予想より低いメモリ制限に関しては、ASP.NET アプリによるメモリ使用には 2 種類あります。1 つは予約済みメモリで、もう 1 つは実際に使用されているメモリです。タスクマネージャーは実際のメモリ使用量を追跡していると思いますが、予約済みメモリにもおそらく制限があります。プロセスが占有している予約済みメモリの量を確認するには、IIS7 に移動し、サーバー (アプリ プールとサイト フォルダーの上にある最上位レベル) をクリックし、[プロセス] オプションをクリックしてから、アプリのプロセスをクリックします。CPU 使用率、リクエスト数、およびメモリ使用量 (予約済みと実際の両方) が表示されます。

于 2013-07-08T17:58:59.647 に答える