【发布时间】:2013-07-22 06:45:22
【问题描述】:
我有一个 MVC4 Web 应用程序,当卷通过它时,它在除生产环境之外的所有环境中消耗 ~400MB RAM。当在生产服务器(外部托管)上加载类似量的负载时,内存利用率会增加三倍至约 1.2GB,即使应用程序空闲,内存也不会释放。所有环境的 IIS 配置都是相同的。
还值得注意的是,应用程序在空闲时会在我的测试环境中释放一些内存,但在生产环境中不会这样做。 RAM 逐渐增加并达到 1.2-1.3GB,但从未低于 - 即使流量完全从服务器路由出去。
除了我的第三方托管平台外,我无法在任何其他环境中重现此问题,但在我最终将责任归咎于基础设施并让托管公司处理此案之前,我想知道:
a) 这是一个常见问题吗?为什么会发生这种情况
b) 我如何查看正在使用内存的内容
c) 您是否希望相同的代码根据平台消耗显着不同级别的系统资源(我知道我的主机在生产中可能有监控等,这可能会膨胀一点)
对此的任何帮助表示赞赏。
【问题讨论】:
-
两台机器(测试和生产)是否有相同数量的 RAM?
-
是的,两者都安装了 4GB
-
生产环境是 IIS 8.5 (windows 2012 R2) 吗?
-
目标框架是4.5还是4.5.1?
标签: asp.net iis asp.net-mvc-4 memory-management memory-leaks