IISワーカープロセスがサーバーで大量のメモリを使用しています。各アプリケーションが使用できるメモリを制限したいのですが、仮想メモリの制限とプライベートメモリのどちらに制限を設定するべきか混乱しています。制限:IISの各アプリケーションは、独自のアプリケーションプールにあります。
プライベートメモリの制限を500MBに、仮想メモリの制限を3GBに設定した場合。アプリケーションプールはいつリサイクルされますか? 500MBに達した後、または3GBに達した後にリサイクルしますか?.
IISはこれらの制限の両方を尊重します。
500MBのプライベートバイト制限を設定した場合、ワーカープロセスが501MBをコミットしようとするとすぐに、IISは新しいワーカープロセスを起動し、古いワーカープロセスを強制終了します。
3GBの仮想メモリ制限を設定した場合、ワーカープロセスが3.001GBを予約しようとするとすぐに、IISは新しいワーカープロセスを起動し、古いワーカープロセスを強制終了します。
64ビットプラットフォームを使用している場合、ASP.NETアプリは仮想メモリを積極的に予約することに注意してください。例として、私はファームに88MBのプライベートバイトのみを使用するアプリを持っていますが、現時点では5.4GBの仮想サイズです。仮想メモリの予約は、サーバー上の物理RAMの関数です。64ビットプラットフォームでは、仮想メモリの大部分を予約してもパフォーマンスへの影響はゼロであることを理解することも重要です。
基本的に、IISサーバーでメモリ消費の問題が発生している場合、制限する設定はプライベートメモリ/バイトです。これが実際のメモリ使用量に対応するものです。