我有一个托管在共享服务器上的ASP.NET MVC 3应用程序,有以下限制:
主机管理员说,如果应用程序达到这些限制,应用程序池将被重新启动。
部署之后,我注意到应用程序池重新启动太快了(几分钟后)。我使用MonitorAspNetApplication检查内存使用情况。
第一次加载时,分配的内存约为8或9 MB,使用的内存约为500或600 KB。
但是,当我开始使用应用程序( CRUD操作,. )时,使用的内存会上下上升,但不会超过几兆字节(6-10兆)。但是分配的内存逐渐增加,直到达到100 MB,然后应用程序池重置。
我搞不懂为什么会这样。这个应用程序并不大,它不执行复杂的操作或繁重的查询。
在这个项目中,我首先使用EF代码,StructureMap,AutoMapper和ELMAH。
发布于 2012-12-08 06:54:28
这是由于公共语言运行时的性质。垃圾收集器在内存不足时收集高级内存,但当应用程序获得100 MB内存时,系统中有许多空闲内存。您应该自己监控内存的使用情况,并在使用量接近100 MB时调用GC.Collect。
https://stackoverflow.com/questions/13775009
复制相似问题