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

Posted

技术标签:

【中文标题】每个应用程序池的内存使用情况【英文标题】:Memory Usage of Each Application Pool 【发布时间】:2013-09-11 08:08:10 【问题描述】:

我使用 IIS 7.5,并且在不同的应用程序池中有一些 ASP.NET 站点和一些 Web 服务。当前服务器内存使用率很高,那么我如何知道每个应用程序池使用了内存?有什么办法吗?有什么建议吗?

【问题讨论】:

【参考方案1】:

每个应用程序池都将位于其自己的 w3wp.exe 进程中。

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

然后按名称排序,查看您的 w3wp.exe 实例,并比较内存使用情况。您可以知道每个人使用哪个应用程序池,因为名称会显示在命令行中。

【讨论】:

我们只有一个 w3wp.exe 实例 那么你只有一个活跃的应用程序池在运行。每个应用程序池都有自己的 w3wp 进程。 不正确,站点中的每个应用程序都可以有自己的应用程序池,但每个站点都有自己的 w3wp 进程 每个应用程序池肯定有自己的进程(但从技术上讲,它可以有多个进程)。一个站点必须属于一个应用程序池,但许多站点可以共享同一个应用程序池:technet.microsoft.com/en-us/magazine/2006.01.servingtheweb.aspx。如果您在我的回答中做到了这一点,您将看到您的 w3wp.exe 属于哪个应用程序池。如果您有许多站点,请确保它们在不同的应用程序池中运行,然后您可以查看每个站点的内存使用情况。您可能还会将应用程序池与应用程序域混淆 - 如果是这样,请搜索这些术语。 是的,但我无法创建更多站点,我需要一个站点中每个应用程序池的内存使用量!【参考方案2】: 转到 IIS 管理器 在“连接”窗格中单击您的服务器名称 在功能视图的 IIS 部分下,双击 Worker Processes 图标

您可以在此处查看每个正在运行的应用程序池的私有字节和虚拟字节使用情况。

更多信息可以在这里找到:http://technet.microsoft.com/en-us/library/cc771273(v=ws.10).aspx

【讨论】:

“在 IIS 下”让我失望。 ngm 表示:在 IIS 管理器窗口的主要功能部分。您无需选择站点或应用程序域,但在右侧的***服务器节点将有大量功能可供您选择。

以上是关于每个应用程序池的内存使用情况的主要内容,如果未能解决你的问题,请参考以下文章

面试题为什么使用连接池?连接池的好处?

根据 CPU 和 RAM 使用情况调整线程池的 Java Executor

线程池的理解及使用

揭秘池化技术--内存池的实现

线程池的理解

内存池的概念以及应用