每个应用程序池的内存使用情况

43

我使用的是IIS 7.5,有一些ASP.NET网站和一些位于不同应用程序池中的Web服务。近日服务器内存使用率较高,那么我如何知道每个应用程序池所使用的内存?有什么建议或方法吗?

2个回答

63

10
"IIS下"这个词让我有些困惑。ngm的意思是:在IIS管理器窗口的主要功能部分。您不需要选择站点或应用程序域,而是选择顶级服务器节点,然后在右侧会出现许多可以选择的功能。 - Kind Contributor

22

每个应用程序池将在自己的w3wp.exe进程中运行。

打开任务管理器,然后转到“详细信息”选项卡。右键单击列,选择“选择列”(在某些Windows版本中它在菜单中:查看 -> 选择列)。确保已选择“命令行”。

然后按名称排序,查看您的w3wp.exe实例并比较内存使用情况。您可以通过命令行中显示的名称来确定它们使用的每个应用程序池。


我们只有一个w3wp.exe实例。 - Saeid Alizade
然后您只有一个活动应用程序池。每个应用程序池都将拥有自己的w3wp进程。 - FarmerBob
1
这不正确,站点中的每个应用程序都可以有自己的应用程序池,但每个站点都有自己的w3wp进程。 - Saeid Alizade
1
每个应用程序池都有自己的进程(但从技术上讲,它可以拥有多个进程)。一个站点必须属于某个应用程序池,但是许多站点可以共享同一个应用程序池:http://technet.microsoft.com/en-us/magazine/2006.01.servingtheweb.aspx。如果你按照我的答案去操作,你会看到你的w3wp.exe属于哪个应用程序池。如果你有很多站点,请确保它们运行在不同的应用程序池中,这样你就可以看到每个应用程序池所使用的内存。您可能还将应用程序池与应用程序域混淆-如果是,请搜索这些术语。 - FarmerBob
是的,但我不能创建更多的站点,我需要在一个站点中每个应用程序池的内存使用情况! - Saeid Alizade
一个 AppPool 是一个 AppDomain,可以在单个进程中运行多个实例。除非您已经打开了每个进程的 AppPool,否则它们默认都将在单个进程中运行。 - Kind Contributor

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接