我有Windows 2008 SP2 EE x86,内存为6GB。在IIS7上有10个应用程序池在运行。有多少内存可以单独使用所有10个应用程序池和每个应用程序池?我的应用程序抛出OutOfMemoryExceptions的限制是什么?
监视IIS7应用程序池的性能和可用的免费服务器资源的最佳方法是什么?我尝试使用进程(私有字节、虚拟内存、工作集)的默认性能监视器和性能计数器,它们是按索引标识的,但无法将这些计数器实时链接到当前的应用程序池。
发布于 2011-04-28 11:43:06
每个App最多可以使用2GB的私有地址空间,除非您已经使用了3GB这样的BCDEDIT选项。
如果所有10位用户都使用了2GB的所有内存,那么您将陷入分页地狱。
您的问题通常是关于进程如何在Windows上分配内存--我将向您提供一些术语,以供进一步研究。
私有字节--这是向进程虚拟字节唯一充电的内存量--这是进程分配工作集的内存总量--这是进程实际使用RAM的数量
预留内存-指定供应用程序使用的内存,但实际上没有RAM/分页文件支持,但却提交了内存--带备份的内存
现在,当添加像.Net in - .Net这样的应用程序框架时,问题变得更加复杂,在OutOfMemoryExceptions出现之前,OutOfMemoryExceptions的可用最大值低于-2GB。通常,在我的经验中,它们不会发生在一个应用程序上,它既不会泄漏某些东西,也不会在超出它所能处理的负载下发生。
处理计数器的Perfmon通常是应用程序池所能做的所有工作;如果这有帮助的话,您可以启用将PID放在进程名中的选项,并且APPCMD列表WP定期记录哪个应用程序池正在做什么。
https://serverfault.com/questions/264192
复制相似问题