ASP.NET内存优化

时间:2010-01-14 22:33:52

标签: asp.net memory

获得:

aspnet_wp.exe  (PID: 988) was recycled because memory consumption exceeded the 148 MB (60 percent of available RAM).

web.config等优化的任何建议?已经完成所有调试/发布编译工作。但仍需要快速记忆。机器得到256mbs ram,512mb它运行平稳。想尽可能地把它压下来。在代码中它也尽可能地保持低内存,但它只有50mb数据。这一定是可能的。或框架是否需要这么多?

3 个答案:

答案 0 :(得分:2)

您可以尝试取消配置所有不使用的HttpModule。例如,Windows身份验证是常见的。

您还可以查看您正在分配的任何静态变量。

在尽可能多的页面上禁用ViewState可能会有所帮助。

最小化或消除任何额外加载的DLL(来自bin目录或GAC)。

但是,你不太可能通过狩猎和啄食来节省大量内存。如果你真的想要追逐它,你需要一个内存分析器工具,例如SciTech的.NET Memory Profiler。他们有两周免费试用。

答案 1 :(得分:1)

嗯,它应该适合,但这取决于你正在做什么,以及你正在运行的IIS版本。

  

Optimizing Memory Usage (IIS 6.0)

     

运行IIS 6.0的服务器受益于充足的物理内存。通常,您添加的内存越多,服务器使用的内存越多,执行的越多。 IIS 6.0至少需要128 MB的内存;建议至少256 MB。如果您正在运行内存密集型应用程序,则服务器可能需要更多内存才能以最佳方式运行 - 超过建议的256 MB内存。

IIS 7.0 however has somewhat larger requirements

  • 最低:512 MB
  • 推荐:2 GB或更多

那篇文章还有一些关于你可以进行的优化的其他建议,我还推荐了Tess Ferrandez的博客,特别是她的帖子".NET Memory usage - A restaurant analogy"很好地解释了内存分配,以及她关于调试内存使用的其他帖子 - 从与RickNZ's suggestions类似的地方开始。

答案 2 :(得分:0)

你在记忆中放了什么?

256mb远低于服务器所具有的水平,即使它是共享服务器,你可能还有更多的工作空间。

你在缓存吗?

你在运行什么操作系统?

就像RickNZ说的那样尽可能多地削减脂肪可能会为你节省一些时间。

老实说,我认为你只是有一个不切实际的记忆目标。