Windows 2008 R2を使用しており、IIS 7はAmazon EC2で実行されています。IISは、C#で記述された単一の.NETアプリケーションを実行しています。
パフォーマンスの問題があり、アプリケーションにより多くのメモリを割り当てたいのですが、どうすればよいかわかりません。 CLRが取得するメモリの量を制御するにはどうすればよいですか?
私はIIS、.NET、CLRの初心者です。 Javaを使用している場合は、-Xmxフラグを使用して、JVMが使用できるメモリを増やします(たとえば、3GBの場合は-Xmx3000m)。しかし、私はWindowsの世界でこれを行う方法を理解することができないようです。
WebアプリケーションのアプリケーションプールでホストされるCLRは、必要なだけのメモリを取得し、メモリの需要に基づいて、必要に応じてガベージコレクションを使用してメモリを解放します。
(UIで、[詳細設定]ダイアログを介して、またはPowerShellとWebAdministrationモジュールを介して)アプリケーションプールにアクセス可能なメモリの量に制限を設けることができます。
アプリケーションプールのメモリにすでに上限が設定されているかどうかを確認することもできますが、実際に、アプリが実行する.NETバージョンのmachine.configを編集せずに、より多くのメモリをアプリプール専用にする方法はありません。下。
EDIT:IIS 7のメモリキャップのデフォルトの自動構成は、マシンのRAMの60%です。これは手動で行うことができます。アプリケーションが実行される.NETバージョンのmachine.configファイルを編集することで増加 ここでのさまざまな構成設定の詳細