ASP.NET ウェブサーバーでは、ASP.NET が使用できるメモリ量は通常、すべてのメモリ量と等しくありません。 machine.configの設定ファイルには<processModel>「memoryLimit」というプロパティがあり、このプロパティの値はパーセンテージで、デフォルトは「60」です。つまり、ASP.NET プロセス(タスクマネージャーで ASP.NET プロセスが見えます。aspnet_wp IIS5、w3wpはIIS6で)は物理メモリの60%を使用可能です。 ASP.NET が使用しているメモリ量がこの制限を超えると、IISは自動的にプロセスをリサイクルし、Httpリクエストを処理する新しいプロセスを作成し、古いプロセスが占有していたメモリを回収します。
大容量メモリのサーバーがある場合、「memoryLimit」の値を適切に調整する必要があります。 例えば、chemas-microsoft-com ffice marttags" />t="on"> 4Gメモリを準備すると、t="on">4G×60%=t="on">2.4G。 しかし、Win32オペレーティングシステムでは、プロセスが占有できるメモリ領域はt="on">2Gのみです。 ASP.NET プロセスが占有するメモリがt="on">2Gに達し始めると、t="on">2.4Gの「リサイクル閾値」に達しないためIISはリサイクルプロセス操作を開始しませんが、Win32の制約によりこのプロセスにより多くのメモリを割り当てることは不可能であり、OutOfMemoryExceptionが実行される可能性が高いです。 これを避けるために、「memoryLimit」を適切に削減し、IISがリサイクル処理を早められるようにしました。
Microsoftは ASP.NET プロセスがメモリの60%を超えないように推奨しており、計算された実際の値はt="on">800M以内にするのが最善です。 とはいえ、4Gメモリ>t="on"のサーバーの場合は、「memoryLimit」プロパティを「20」に設定するのが最適です。 IISがプロセスをタイムリーにリサイクルするための適切なリサイクル閾値を設定することは、サーバー全体の安定運転を確保し、OutOfMemoryExceptionを回避するために非常に重要です。
出力ファイルが特に大きい場合は、System.OutOfMemoryExceptionを直接報告することがあります。 正しい方法はファイルのバイトストリームをセグメント単位で出力することですが、それを行うResponse.WriteFile(filePath)という既存のメソッド asp.net 存在します。
ドメインコントローラーに ASP.NET をインストールする場合は、特別な手順を踏む必要があります。そうしないとインストールがうまくいかなくなります。 詳細については、こちらをご覧ください。http://support.microsoft.comナレッジベースのMicrosoftの記事CHS315158「ドメインコントローラーでデフォルトのASPNETアカウントを使えない」ASP.NET あります。
ASP.NET がIIS バージョン6のネイティブモードで動作している場合、IIS 6のプロセスモデルを使用し、<processModel>セクションの設定は無視されます。 プロセス識別、リサイクル、その他のプロセスモデル値を設定するには、Internet Services Managerのユーザーインターフェースを使ってアプリケーション用のIISワーカープロセスを設定してください。
ASP.NET アプリケーションがワーカープロセス(Windows 2000およびWindows XP ProfessionalのAspnet_wp.exe、Windows Server 2003のW3wp.exe)を ASP.NET 再起動させ、デッドロック状態が疑われるエラーメッセージを出した場合、その再起動は増加すべきです responseDeadlockInterval設定。