w3wp.exe是否有内存限制?

时间:2013-02-14 01:26:40

标签: asp.net-mvc-3 iis-7 asp.net-mvc-4 asp.net-web-api memorycache

w3wp.exe是否有最大内存大小?我的高达2.5-3G,然后似乎崩溃/重置。

根据下面的“ GIVEN ”尺寸,我设置了一些计数器,并注意到w3wp.exe将为http请求提供服务,然后重置为0以及w3wp.exe进程崩溃(更改pid)。结果REQUESTS_QUEUED和ACTIVE_REQUESTS变大,导致处理延迟,直到w3wp.exe可以自行重启。它每隔3-4分钟就会这样做,所以很可能是由于峰值负载期间系统体积很大。但不确定这是否是内存问题。

我在网络服务器(IIS)日志中看到了大量警告:

  

为应用程序池'MyApplication'提供服务的流程遭遇致命   Windows进程激活服务的通信错误。该   进程ID是'1732'。数据字段包含错误编号。

结果:客户报告了http请求的零星响应时间。

我是否可以增加此内存限制或重新配置IIS以处理增加的负载?

GIVEN

  • 系统已传递给我,因此IIS配置可能存在差距等。
  • 数据库:SQL Server 2008R2
  • Web服务器:Windows Server 2008R2 Enterprise SP1(64位,64G RAM)
  • IIS 7.5
  • 对模型和Business Objects积极使用带有MemoryCache的MVC4 Web API,并将驱逐设置为2小时
  • 查看日志,但实际上看不到任何显着相关的内容
  • 一个应用程序池...此服务器上没有运行其他LOB应用程序

2 个答案:

答案 0 :(得分:2)

应用程序池是否设置为以32位模式运行?即使你有足够的RAM,这也可能导致内存问题。在64位系统上,32位进程的内存限制为4 GB。

答案 1 :(得分:2)

实际上在解决过度使用正在崩溃w3wpe.exe进程的内存缓存的RC后,我可以肯定地说mvc4 web api服务可以从3G基线(64位机器和应用程序池)增长到20G ... 。至少那是我在驱逐政策开始清理事情之前看到的最后一个级别。可能有点过多的占用空间,但应用程序非常快速返回机器学习目标内容低于100毫秒。