【问题标题】:Is there a memory limit for w3wp.exe?w3wp.exe 有内存限制吗?
【发布时间】:2013-01-29 18:07:29
【问题描述】:

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

根据下面的“GIVEN”维度,我设置了一些计数器,并注意到 w3wp.exe 将服务于 http 请求,然后随着 w3wp.exe 进程崩溃(更改 pid)重置为 0。结果,REQUESTS_QUEUED 和 ACTIVE_REQUESTS 变大,导致处理延迟,直到 w3wp.exe 可以自行重新启动。它每 3-4 分钟执行一次,因此很可能是由于峰值负载期间系统容量大。但不确定是不是内存问题。

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

为应用程序池“MyApplication”提供服务的进程遭受致命攻击 与 Windows Process Activation Service 的通信错误。这 进程 ID 为“1732”。数据字段包含错误号。

结果:客户报告的 http 请求响应时间不定时。

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

给定

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

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

    • 您好,感谢您的回复。不,它设置为 64 位。我已经附加了诊断调试并有一个堆栈跟踪可以使用...system.objectdisposedexception。用于接收请求的线程模型很可能存在问题,其中包括缓存和并发问题。现在试图弄清楚如何加载每个调试诊断的堆栈跟踪转储以在 windbg 中加载(但不确定如何使用 windbg..wip)。
    • 如果不是内存,那么研究线程和并发是有意义的。除了来自客户端机器的请求之外,您是否还在进行 Web 服务调用?这可能会占用额外的线程。见this。如果您的服务器有多个处理器/内核,您可以将流量分散到多个进程(网络花园)
    • 绝对不是内存(限制)问题。很可能发生非线程安全的内存缓存或争用/死锁。但是崩溃转储中的任何内容都没有指向任何内容。是的,对另一个 LOB REST API 进行 Web 服务调用。顺序是.....Request Received->Task.Factory.StartNew(make a rest api call to another LOB service)->[AppSetting 是否等待那个请求]->Hit our Database->Response back (包括来自我们发出的 api 请求的数据 + 我们的数据库查询)。因此,这些线程可能是阻塞的,并且由于它们同步而没有返回到线程池
    • 您的可用线程数是否有太多流量?您可以使用最大线程数和最大请求​​数的设置。 http://msdn.microsoft.com/en-us/library/dd560842(v=vs.100).aspx
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2011-02-16
      • 2016-06-12
      • 1970-01-01
      • 2013-07-06
      • 2023-03-20
      • 1970-01-01
      • 1970-01-01
      • 2016-07-02
      • 1970-01-01
      相关资源
      最近更新 更多