如何准确确定ASP.NET应用程序的应用程序池内存使用情况

时间:2011-02-19 14:38:20

标签: asp.net-mvc performance iis-7 application-pool

我的托管公司对应用程序池(IIS 7.5)施加了100mb内存限制。

如何准确确定ASP.NET应用程序的内存使用情况?

为了创建某种基线,我用一个控制器动作创建了一个空的ASP.NET MVC 3应用程序,返回一个字符串结果。

使用ANTS分析此应用程序的结果如下:

Generation 1 - 286.2KB
Generation 2 - 795.4KB
Large Object Heap - 75.63KB
Unused memory allocated to .NET - 1.323MB
Unmanaged - 26.78MB

我担心的是,如果应用程序池限制基于专用字节,则空白的ASP.NET MVC应用程序使用33MB的池资源。因此,我的MVC应用程序实际上做了一些事情(使用93MB)将很容易超过“限制”。

但是,如果我调用GC.GetTotalMemory,则结果为8MB,这听起来更可接受。

我在找到任何测试基准测试方面都没有成功,但如果一个空的MVC Web应用程序确实使用了33MB的资源(这听起来确实过多),那么我的主机所施加的限制似乎完全不切实际。

非常感谢, 本

1 个答案:

答案 0 :(得分:0)

  1. 与您的托管服务提供商聊天,以查看内存限制是针对私有内存还是虚拟限制。
  2. 了解私有内存和虚拟内存,然后使用ANTS分析器更好地了解应用程序的内存占用。