如何查看池中的哪个asp.net应用程序正在使用最多的内存

我们在IIS中有一些应用程序所属的应用程序池。 根据任务pipe理器,这个apppool使用超过4GB的内存,我需要弄清楚哪个具体的应用程序是这个原因。

有没有办法获得更多的信息?

您可以使用性能监视器和debugging诊断在高内存使用条件(包括IIS内存使用情况)上生成转储。 性能监视器将让您跟踪使用的Asp.NET内存(有几个计数器),并且debugging诊断将允许您捕获基于性能计数器的用户转储。

调试诊断屏幕截图

debugging诊断进程转储后,它会让你知道哪些进程正在使用多less内存。

这里有一个更长的文章。 我希望有帮助。

我可以采取一个更简单的方法,只是把每个网站放到它自己的应用程序池中,看看哪一个正在失去控制。

使用进程pipe理器工具检查应用程序是否有更多数量的磁盘活动。 这些工具将为您提供有问题的进程打开和使用的文件和文件句柄信息的详细透视图。 它会让我们知道有多less文件句柄和其他句柄(套接字,线程,互斥句柄等)在空闲时间被关注进程使用。