IIS 工作进程的虚拟内存使用是否可以超过专用内存限制?

Kev*_*Kev 6 windows iis iis-7 iis-6 iis-7.5

例如,如果我在“回收”设置中为应用程序池配置以下限制:

Virtual Memory: 512Mb
Private Memory: 128Mb - 或 IIS 6 中的“已用内存”

进程是否可以使用 90Mb 的物理内存,但请求使用 256Mb 的虚拟内存,从而不会触发回收?

Sim*_*Sim 5

是 IIS 工作进程使用比物理内存更多的虚拟内存是很常见的。要亲自查看,请下载ProcessExplorer的副本并查看其中一个 IIS 工作进程的进程内存。

作为以下屏幕截图的示例,来自IIS 6 服务器上的ProcessExplorer,您可以看到此 IIS 工作进程使用了​​约 195MB 的虚拟内存和约 37MB 的物理内存(工作集)。

有关不同内存类型之间关系的解释,请参阅此 StackOverflow 问题什么是私有字节、虚拟字节、工作集?

替代文字

因此,根据您使用 IIS 工作进程配置的限制,该进程使用 90MB 的物理和 256MB 的虚拟不会触发应用程序池的回收。