web-dev-qa-db-ja.com

IISのアプリケーションが使用するメモリを制限する方法は?

IISワーカープロセスがサーバーで大量のメモリを使用しています。各アプリケーションが使用できるメモリを制限したいのですが、仮想メモリの制限とプライベートメモリのどちらに制限を設定するべきか混乱しています。制限:IISの各アプリケーションは、独自のアプリケーションプールにあります。

プライベートメモリの制限を500MBに、仮想メモリの制限を3GBに設定した場合。アプリケーションプールはいつリサイクルされますか? 500MBに達した後、または3GBに達した後にリサイクルしますか?.

18
kishore

IISはこれらの制限の両方を尊重します。

500MBのプライベートバイト制限を設定した場合、ワーカープロセスが501MBをコミットしようとするとすぐに、IISは新しいワーカープロセスを起動し、古いワーカープロセスを強制終了します。

3GBの仮想メモリ制限を設定した場合、ワーカープロセスが3.001GBを予約しようとするとすぐに、IISは新しいワーカープロセスを起動し、古いワーカープロセスを強制終了します。

64ビットプラットフォームを使用している場合、ASP.NETアプリは仮想メモリを積極的に予約することに注意してください。例として、私はファームに88MBのプライベートバイトのみを使用するアプリを持っていますが、現時点では5.4GBの仮想サイズです。仮想メモリの予約は、サーバー上の物理RAMの関数です。64ビットプラットフォームでは、仮想メモリの大部分を予約してもパフォーマンスへの影響はゼロであることを理解することも重要です。

基本的に、IISサーバーでメモリ消費の問題が発生している場合、制限する設定はプライベートメモリ/バイトです。これが実際のメモリ使用量に対応するものです。

18
Dominic D