【发布时间】:2012-12-08 06:04:52
【问题描述】:
我有一个托管在共享服务器上的 ASP.NET MVC 3 应用程序,但有以下限制:
- 100 MB 内存
- 15% 的 CPU
主机管理员说,如果应用程序达到这些限制,应用程序池将重新启动。
部署后,我注意到应用程序池重启太快(几分钟后)。我使用MonitorAspNetApplication 来检查内存使用情况。
第一次加载时,分配的内存约为 8 或 9 MB,使用的内存约为 500 或 600 KB。
但是当我开始使用应用程序(CRUD 操作,...)时,使用的内存会上下波动,但不会超过几 (6-10) 兆字节。但是分配的内存会逐渐增加,直到达到 100 MB,然后应用程序池会重置。
我不知道为什么会这样。应用程序不大,不做复杂的操作或繁重的查询。
我在这个项目中首先使用 EF 代码、StructureMap、AutoMapper 和 ELMAH。
- 此问题的可能原因是什么?如何检测和解决它们?
- 这些工具(EF、StructureMap 等)会导致这种内存使用吗?
- 这是内存泄漏吗?还是叫别的?
【问题讨论】:
-
您可以使用 PerfView 分析 .net 应用的内存和 CPU 使用情况:channel9.msdn.com/Series/PerfView-Tutorial
-
谢谢你的链接,我的情况是内存泄漏吗?或者它有不同的名字?
标签: asp.net asp.net-mvc-3 memory-management memory-leaks application-pool