Iis

如何限制 IIS 中應用程序使用的記憶體?

  • June 21, 2021

IIS 工作程序佔用了我們伺服器上的大量記憶體。我想限制每個應用程序可以使用的記憶體。我很困惑是否應該對虛擬記憶體限製或私有記憶體限制設置限制。我們 IIS 中的每個應用程序都在其自己的應用程序池中。

如果我將私有記憶體限制設置為 500MB,將虛擬記憶體限制設置為 3GB。應用程序池何時回收?它是在達到 500MB 後還是達到 3GB 後回收。

IIS 將遵守這兩個限制。

如果您設置了 500MB 的私有字節限制,一旦工作程序嘗試送出 501MB,IIS 將啟動一個新的工作程序並終止舊的工作程序。

如果您設置了 3GB 的虛擬記憶體限制,一旦工作程序嘗試保留 3.001GB,IIS 就會啟動一個新的工作程序並終止舊的工作程序。

如果您在 64 位平台上,您應該知道 ASP.NET 應用程序會積極地保留虛擬記憶體。舉個例子,我在一個農場裡有一個應用程序,它只使用 88MB 的私有字節,但它現在的虛擬大小是 5.4GB。我相信虛擬記憶體預留是伺服器上物理 RAM 的一個功能。同樣重要的是要了解,在 64 位平台上,保留大部分虛擬記憶體對性能的影響為零。

基本上,如果您在 IIS 伺服器上遇到記憶體消耗問題,您想要限制的設置是 Private Memory/Bytes,這對應於實際記憶體使用情況。

引用自:https://serverfault.com/questions/167851