IIS工作进程正在我们的服务器上占用大量内存。 我想限制每个应用程序可以使用的内存。 我很困惑我是否应该对虚拟内存限制或私有内存限制设置限制。 我们的IIS中的每个应用程序都在自己的应用程序池中。
如果我将私人内存限制设置为500MB,虚拟内存限制为3GB。 应用程序池何时回收? 达到500MB或达到3GB后是否回收?
IIS将尊重这两个限制。
如果您设置了500MB的私人字节限制,只要工作进程尝试提交501MB,IIS将启动一个新的工作进程并杀死旧的进程。
如果设置了3GB的虚拟内存限制,只要工作进程尝试保留3.001GB,IIS就会启动一个新的工作进程并杀死旧的进程。
如果你在一个64位平台上,你应该知道ASP.NET应用程序积极保留虚拟内存。 举个例子,我在一个只有88MB私有字节的服务器场上有一个应用程序,但是现在它的坐标是5.4GB虚拟大小。 我相信虚拟内存预留是服务器上物理RAM的function。 了解在64位平台上保留大部分虚拟内存对性能的影响为零也很重要。
基本上,如果你在IIS服务器上有内存消耗问题,你想限制的设置是私有内存/字节,这就是实际的内存使用情况。