【问题标题】:Identify the the most web application that consume memory in iis 7识别 iis 7 中消耗内存最多的 Web 应用程序
【发布时间】:2012-05-23 18:08:42
【问题描述】:

如何识别默认应用程序池中使用大量内存的 Web 应用程序?

编辑 我的应用程序池包含许多应用程序,我无法将它们分开或停止,我能否知道我的多应用程序应用程序池中的某些特定应用程序使用了哪些资源?

【问题讨论】:

  • 是否可以将应用分配到不同的池中,然后检查w3wp 的哪个实例消耗了内存?
  • 为什么同一个池中有多个应用程序?当它们被分成自己的池时,发现这一点要简单得多。
  • 我在默认应用池中有多个应用,并且很难分离主题

标签: asp.net asp.net-mvc-3 iis iis-7 iis-7.5


【解决方案1】:

过去我也需要为运行多个应用程序池的 Web 服务器执行此操作。根据this article:“如果您需要确定哪个应用程序池与特定 w3wp.exe 进程相关联,请打开管理命令提示符,切换到 %windir%\System32\inetsrv 文件夹(cd %windir%\System32\ inetsrv) 并运行 appcmd list wp。这将在引号中显示 w3wp.exe 进程的进程标识符 (PID)。您可以将该 PID 与任务管理器中可用的 PID 匹配。"

这正是我所做的。

【讨论】:

  • 问题是有一些 w3wp.exe 进程占用大量内存,并且这个进程服务于我服务器上的所有 Web 应用程序,我不能轻易分离主题,有超过 15 个站点在同一个池中,但是这个巨大的内存消耗是新的,我最近没有添加任何应用程序。
  • 在这种情况下,我同意上面的评论员。您可以将应用程序分离到它们自己的应用程序池中,并注意随之而来的每个进程的额外开销。然后使用我上面的建议来决定哪个进程属于哪个应用程序。 IME,值得在每个应用程序池中配置内存消耗限制,以使池在达到该最大值后自动回收。如果这是一个持续存在的问题,也许这不是一个可持续的补救措施,但请在此处查看更多信息:technet.microsoft.com/en-us/library/cc725749(v=ws.10).aspx
  • AFAIK,没有。您在一个进程中托管多个 Web 应用程序。了解应用程序池(特别是)和/或了解每个 Web 应用程序的内存消耗不是进程的工作。哪些信息可用于区分这些,将在 APPCMD 中。当我解决了与这些类似的内存问题时,除非问题很常见或很明显,否则它几乎没有结果。无论如何,如果您可以访问该机器,则只需几分钟即可将它们分开。否则,将您的应用程序池设置为可回收,这在实践中很常见。告诉我你发现了什么。
  • 我知道了,你可以使用“性能监视器”来做到这一点,它是一个非常好的 Windows 内置应用程序。
  • 啊,干得好。我熟悉该工具,但不熟悉它将如何分解这些细节。如果我发现自己处于同样的情况,我肯定会调查一下。干得好。
【解决方案2】:

您可以使用性能监视器进行操作,打开它,然后单击“添加计数器”,然后选择“Asp.Net Applications”或“ASP.Net Apps vx.xxxxx”,然后选择您的计数器。

【讨论】:

    【解决方案3】:

    认为在 IIS 中,如果您有多个 Web 应用程序共享 1 个应用程序池,w3wp.exe 进程会将每个网站隔离到其自己的 AppDomain 中。如果您使用的是 .NET 4,看起来有一些 performance metrics that can be read per AppDomain.

    这意味着您可以在应用程序中添加一些代码,这些代码会转储其自己的 AppDomain 的统计信息,然后您可以对其进行汇总和报告。

    我自己没有尝试过,但似乎它可能会有所帮助......


    这样做的一个非常简单的形式可能是在您的Application_Start() 方法中设置AppDomain.MonitoringIsEnabled = true;

    然后有一个“stats.aspx”页面,将AppDomain.CurrentDomain.MonitoringTotalProcessorTime 和任何其他统计信息转储到标签。

    【讨论】:

      猜你喜欢
      • 2016-10-08
      • 2012-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-19
      • 1970-01-01
      相关资源
      最近更新 更多