我有一个奇怪的场景,其中的网站似乎随机耗尽内存:它工作了几个星期,然后突然一切都抛出内存异常,并且它保持不变所以直到服务器重新启动。它可能在几周后或几天后发生。我们无法确定一个常规模式。Asp.net Mvc网站内存不足
这里使用本网站高科技的东西的清单:
- .Net框架3.5
- 的mvc 2.0与C#
- 在专用服务器上IIS 6.0(无政策限制等)
- 3层架构(ui-bll-dal)
- Automapper 1.1.0.118
- Elmah 1.1
- FluentValidation 2.0
- MvcContrib 2.0.95.0
- MvcSiteMapProvider 3.0.0.1
- 城堡2.5.2
- NHibernate的3.0.0.4
- FluentNHibernate 1.1.0.0
- PdfSharp 1.31.1789.0
- MarkdownSharp
除此之外,该网站还包括(通过iframe)一些ol d传统的asp窗体。这些形式与网站旧版本(完全在asp中)相同,但它们存在一些问题,但旧网站从未耗尽内存。
我已经检查常见的东西,比如实现类是内部using
语句,没有无限循环等
该网站没有做什么奇怪的所有IDisposable
,它拉从DB如新闻的一些数据,在某些表格提交之后即时生成一些pdf,允许用户订阅通讯。通常的东西。
我真的无能为力,我开发了很多网站,几乎在任何地方都使用上述库,但这是我第一次遇到这种问题。
我知道这个信息是不够的,“发现”的问题,但如果有人能想到的东西,我可能会被忽视,或任何东西,这将是非常欢迎的。
编辑:一个细节,那可能很重要。我们有另一个网站运行在同一台服务器上(使用旧的asp制作),它运行得很好,而另一个则停滞不前。所以看起来整个服务器内存没有被耗尽,否则它不会工作。
如果你在现场看的内存消耗它是否会随着时间推移而增加,或者除了形成这些奇怪的尖峰之外,还会保持稳定? –
这很正常。现在,应用程序池的容量为1GB,重新启动池之后,我可以访问elmah,并发现了很多outofmemory错误。仍然无能为力。 –
您的网站是否有能力上传文件?我可能是服务器是完全超载与太多的用户同时上传文件? –